参考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(使用前将#替换为@)