如何将 Invoke-RestMethod 的响应转换为 XML?

2024-01-08

参考help https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-restmethod?view=powershell-7.1文件“Invoke-RestMethod”:

PS /home/nicholas> 
PS /home/nicholas> $response = Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/ 
PS /home/nicholas> 
PS /home/nicholas> $json = $response | ConvertTo-Json                                                   
WARNING: Resulting JSON is truncated as serialization has exceeded the set depth of 2.
PS /home/nicholas> 
PS /home/nicholas> $xml = $response | ConvertTo-Xml  
PS /home/nicholas> 
PS /home/nicholas> $xml.OuterXml                   
 

我怎样才能转换response to xml并将其输出,如上所述,在一行中?


您要返回的特定 URIXML内容,其中Invoke-RestMethod http://go.microsoft.com/fwlink/自动解析为 XML DOM(文档对象模型) 类型System.Xml.XmlElement https://learn.microsoft.com/en-US/dotnet/api/System.Xml.XmlElement (an array在本例中存在此类情况)。

可视化输出的一个简单方法是访问.OuterXml财产:

(Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/).OuterXml

如果你真的需要一个单线表示:

(Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/).OuterXml -replace '\r?\n'

您可以使用这些XmlElement使用 OOP 技术的实例,依赖于PowerShell 对 XML DOM 的便捷适配 https://stackoverflow.com/a/49213568/45375;例如,以下提取的值<title>所有数组元素的子元素,使用成员访问枚举 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_Member-Access_Enumeration:

$entries = Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/
$entries.title

Note:

  • 因为目标 URI 代表一个Atom https://en.wikipedia.org/wiki/Atom_(web_standard)feed,提要条目返回为array of XML elements而不是作为单个 XMLdocument.

  • Web 服务更常见的是返回解析为单个 XML 文档的 XML,作为[xml] (System.Xml.XmlDocument https://learn.microsoft.com/en-US/dotnet/api/System.Xml.XmlDocument) 实例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Invoke-RestMethod 的响应转换为 XML? 的相关文章

随机推荐

  • Django 1.4 在开发服务器上提供 MEDIA_URL 和 STATIC_URL 文件

    刚刚升级到 Django 1 4 并且在开发服务器上新的 改进 的静态和媒体文件服务方面遇到了严重问题 我喜欢 Django 但到底为什么他们用 STATIC URL STATIC ROOT STATICFILES DIR 使这些文件的服务
  • 使用命令行从谷歌下载图像[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想用命令行下载谷歌给我的第n张图像 即像使用命令一样wget 搜索图像 something 我只是去页面https www google
  • const 中 u32::BITS 的替代方案是什么?

    我有一些代码可以做到这一点 const MY CRAZY CONSTANT u32 1 lt lt u32 BITS 1 我尝试使用 Rust nightly 2016 03 29 编译它 但失败并显示以下消息 error no assoc
  • 批处理文件和 DEL errorlevel 0 问题

    该批处理必须从特定位置删除文件和目录 并将成功或 stdout stderr 消息输出到新的 txt 文件 我已经创建了脚本的大部分内容 并且它的执行完全符合预期 除非删除成功 否则它会前进到下一行 而不是在日志上回显 成功 消息 echo
  • java 8流用于根据特定字段对对象列表进行排序

    我有一个根据时间戳对对象进行排序的场景 课程如下 class Employee private String name private List
  • 具有不同参数的重载方法的方法引用无效

    当尝试编译表达式时Comparator comparing String toLowerCase Java 编译器返回错误 请参阅以下问题以获取更多信息 为什么 Comparator comparing 不适用于 String toLowe
  • 无法解析基于模板的标识符“get”。网豆8.1

    我的问题是 我收到了帖子主题中出现的警告 真是令人沮丧 这自动完成不适用于该代码 除此之外还会出现警告 标准设定为C 14 例如 Boxes 2 get gt setPosition Boxes 2 get gt getPosition v
  • 正则表达式仅使用egrep捕获整个单词

    我正在使用egrep 来查看perforce NAS 中的脚本 我试图找到我们使用 RCP 和 RSH 的地方 我遇到的问题是 1 我在 REGEX 上很糟糕 2 我正在捡起我不感兴趣的垃圾 例如 如果一个文件包含单词 strcpy 它会捡
  • 错误1001。初始化安装时发生异常

    我在尝试卸载时看到以下错误 程序文件中没有WRT文件夹 如何卸载该软件 注意 我已从程序文件中删除了软件文件夹 错误信息 System IO FileNotFoundException could not load file or asse
  • 如何检查 Java 8 Streams 中是否存在重复项?

    在 java 8 中 检查列表是否包含重复项的最佳方法是什么 我的想法是这样的 list size list stream distinct count 这是最好的方法吗 您的代码需要迭代所有元素 如果你想确保没有重复的简单方法 例如 pu
  • 如何为 HTML div 标签设置边框

    我正在尝试在 HTML 中定义 div 标签周围的边框 在某些浏览器中 边框不会出现 这是我的 HTML 代码 div style border thin div
  • 计算嵌套对象中的键数

    我正在尝试统计嵌套 JS 对象中的键 我能够到达第一层 但我有点困惑如何让它深入嵌套对象并返回计数 var properties prop1 prop2 prop3 prop4 subProp1 subProp2 subProp3 subS
  • 设置 eclipse java SE-1.7

    我想开始学习java 但是Eclipse给我带来了一些麻烦 首先 我是一个Java初学者 对它知之甚少甚至一无所知 我想使用 JavaSe 1 7 除了使用最新版本之外 我没有明确的理由使用它 下载 Eclipse 适用于 Java 开发人
  • 为什么非成员 static constexpr 变量不是隐式内联的?

    在 C 17 中 我们得到了内联变量 并且我假设全局 constexpr 变量是隐式内联的 但显然这只适用于静态member变量 这背后的逻辑 技术限制是什么 source 声明为 constexpr 的静态成员变量 但不是名称空间范围变量
  • 当底层模型更改时,QT QmlMap PolyLine 未正确更新

    我正在尝试将多个地理坐标与地图中的折线连接起来 坐标存储在模型 QAbstractListModel 类中 我可以在其中修改 删除和添加 C 中的坐标 简单地显示每个坐标的标记就可以了 但是当我将它们与折线连接并从模型中删除一些现有坐标时
  • 将 Base64 字符串加载到画布时遇到问题

    我正在尝试将 Base64 字符串从数据库加载到画布 我通过执行相反的方法获得了这个字符串 在画布上绘制后将其保存到我的数据库中 所以 现在我想将其加载回另一个画布上 我已经尝试过在网络和 StackOverflow 上其他地方找到的这段代
  • 尝试使用 getRange 时出现类型错误

    NOTE This is a proposal of canonical Q A Please discuss it on Meta https meta stackoverflow com q 420764 1595451 作为新的 Go
  • 使用数据框架构的 Spark 地图数据框

    我有一个从 JSON 对象创建的数据框 我可以查询这个数据框并将其写入镶木地板 由于我推断了架构 因此我不一定知道数据框中的内容 有没有办法使用自己的架构来输出列名称或映射数据框 The results of SQL queries are
  • 如何检测浏览器何时在 Web 登录中输入存储的密码

    我有一个网站 可以检测何时输入用户名和密码 然后启用登录按钮 问题是 如果浏览器输入它记住的用户名和密码 则登录按钮永远不会启用 JavaScript 有没有办法检测浏览器输入此信息 你可以用以下方式进行轮询setInterval 但是为什
  • 如何将 Invoke-RestMethod 的响应转换为 XML?

    参考help https learn microsoft com en us powershell module microsoft powershell utility invoke restmethod view powershell