@Nas对写答案for me here很有帮助,但是很遗憾,我无法查询服务器并将呼叫的XML响应写到终端:
$body = @{
"UserSessionId"="12345678"
"OptionalEmail"="MyEmail"
} | ConvertTo-Json
$header = @{
"Accept"="application/json"
"connectapitoken"="97fe6ab5b1a640909551e36a071ce9ed"
"Content-Type"="application/json"
}
$Url = "http://MyServer/WSVistaWebClient/RESTLoyalty.svc/member/search"
$XMLObject = Invoke-RestMethod -Method 'POST' -Uri $url -Headers $header -Body $body
Write-Host "First try"
$XMLObject.location #-> readable
Write-Host "Second try"
$XMLObject.InnerXml #-> like postman output
Write-Host "Third try"
$XMLObject
不确定为什么我可以打印收到的响应响应的原始XML,但无法格式化。
但是那里的数据流是不忠的
答案 0 :(得分:1)
看起来您想要获得的属性是LoyaltyXML。
$XMLObject.LoyaltyXML
答案 1 :(得分:1)
ArcSet为您提供了一个简洁的答案,对于您说要尝试引用的节点级别,但是仅供参考,这全都涉及使用PowerShell使用XML进行基本解析。
PS具有XML cmdlet ...
Get-Command -Name '*xml*' | Format-Table -AutoSize
CommandType Name Version Source
----------- ---- ------- ------
...
Cmdlet ConvertTo-Xml 3.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Convert-XMLtoJSON 5.0.0.1 Sorlov.PowerShell
Cmdlet Export-Clixml 3.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Import-Clixml 3.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Merge-XMLFile 5.0.0.1 Sorlov.PowerShell
Cmdlet New-XSDfromXML 5.0.0.1 Sorlov.PowerShell
Cmdlet Select-Xml 3.1.0.0 Microsoft.PowerShell.Utility
...专门用于此操作,或者您可以使用.NET xml名称空间对其进行解析。关于此主题,有大量的文档,电子书和视频。 XML和JSON在PS中非常重要。
PowerShell Simply Put: Parsing Through XML
Mastering everyday XML tasks in PowerShell
例如,使用.Net xml名称空间,更改此内容...
$XMLObject = Invoke-RestMethod -Method 'POST' -Uri $url -Headers $header -Body $body
...这样说...
[xml]$XMLObject = Invoke-RestMethod -Method 'POST' -Uri $url -Headers $header -Body $body
...然后根据需要进行解析。
$XMLObject.Object
例如(由于我无法使用您实际拥有的东西):
# download currency exchange rates in XML format and parse for currency rates:
$url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'
[xml]$result = (Invoke-WebRequest -Uri $url -UseBasicParsing).Content
$result
xml Envelope
--- --------
version="1.0" encoding="UTF-8" Envelope
$result.Envelope
gesmes : http://www.gesmes.org/xml/2002-08-01
xmlns : http://www.ecb.int/vocabulary/2002-08-01/eurofxref
subject : Reference rates
Sender : Sender
Cube : Cube
$result.Envelope.Cube
Cube
----
Cube
$result.Envelope.Cube.Cube
time Cube
---- ----
2018-09-28 {Cube, Cube, ...
$result.Envelope.Cube.Cube.Cube
currency rate
-------- ----
USD 1.1576
JPY 131.23
BGN 1.9558
...