【发布时间】:2019-03-18 17:01:15
【问题描述】:
这里是 XML。我正在寻找siteid。
<result created="2018-10-13T13:11:18-05:00" host="redacted" status="OK">
<items>
<site>
<siteid>399700</siteid>
<name>
<![CDATA[ Warehouse ]]>
</name>
<connection_ok>1</connection_ok>
</site>
<site>
<siteid>547401</siteid>
<name>
<![CDATA[ Monterey Park ]]>
</name>
<connection_ok>1</connection_ok>
</site>
</items>
</result>
要获取我要查找的数据,我首先需要遍历 XML 以获得客户端 ID,然后我可以使用客户端 ID 来查找每个客户端的站点 ID。一些客户有多个站点。
虽然正确获得了客户,但由于缺乏更好的术语,网站被压缩了。
结果:
客户编号:12345 站点编号:9876543210站点 ID 应该是两个单独的数字:98765 43210
这是我正在使用的两个函数:
$ClientsIDs = @()
$SiteIDs = @()
function Get-Clients() {
$clientdata = Invoke-RestMethod -Uri ($baseurl + $lc)
$clientid = $clientdata.result.items.client.clientid
$Script:ClientsIDs += $clientid
Write-Output("Client ID: " + $ClientsIDs)
}
function Get-Sites() {
foreach ($id in $Global:ClientsIDs) {
$sitedata = Invoke-RestMethod -Uri ($baseurl + $ls + $id)
$siteid = $sitedata.result.items.site.siteid
$SiteIDs += $siteid
}
Write-Output("Site ID: " + $SiteIDs)
}
Get-Clients
Get-Sites
(只有 URL 没有显示。Write-Outputs 只是为了我的利益,以确保正确收集数据。它们最终将被删除。)
如何让$sitedid 正确保存在数组中?
【问题讨论】:
标签: arrays xml powershell