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为并输出?xml

4

3 回答 3

1

您要定位的特定 URI 返回XML内容,该内容会Invoke-RestMethod自动解析为 XML DOM 类型System.Xml.XmlElement(在本例中为此类实例的数组)。

可视化输出的一种简单方法是访问.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'
于 2020-11-18T00:18:34.430 回答
0

只是一个轻微的变体:

PS /home/nicholas> 
PS /home/nicholas> $url="https://blogs.msdn.microsoft.com/powershell/feed/"                            
PS /home/nicholas> 
PS /home/nicholas> Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType 'application/xml'

尽管指定了“ContentType”,但它似乎XML至少不像打印到控制台那样。不过,很有趣。

于 2020-11-18T00:50:59.030 回答
0

[xml]$testResult = (Invoke-RestMethod -Uri 'url').OuterXml $testResult.Details.Status

如果 xml 为 3

于 2021-08-16T09:18:21.500 回答