Nic*_*ers 3 xml rest powershell read-eval-print-loop invoke-restmethod
参考`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
Run Code Online (Sandbox Code Playgroud)
如何将其转换response为xml并在一行中输出(如上所述)?
您所定位的特定 URI 返回XML内容,该内容Invoke-RestMethod会自动解析为类型(在本例中为此类实例的数组)的 XML DOM(文档对象模型)。System.Xml.XmlElement
可视化输出的一个简单方法是访问该.OuterXml属性:
(Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/).OuterXml
Run Code Online (Sandbox Code Playgroud)
如果您确实需要单行表示:
(Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/).OuterXml -replace '\r?\n'
Run Code Online (Sandbox Code Playgroud)
您可以使用 OOP 技术来处理这些XmlElement实例,并依靠PowerShell 对 XML DOM 的方便调整;例如,以下内容<title>使用成员访问枚举从所有数组元素中提取子元素的值:
$entries = Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/
$entries.title
Run Code Online (Sandbox Code Playgroud)
笔记:
由于目标 URI 表示Atom提要,因此提要条目将作为XML元素数组而不是单个 XML文档返回。
Web 服务更常见的是返回解析为单个 XML 文档的 XML,作为[xml]( System.Xml.XmlDocument) 实例。
| 归档时间: |
|
| 查看次数: |
5218 次 |
| 最近记录: |