将XML转换为PowerShell数组

4

我希望能够在PowerShell脚本中将XML内容加载到数组中。为什么这样做不起作用呢?:(

我的XML:

<settings>
    <services>
       <sv>service1</sv>
       <sv>service2</sv>
    </services>
</settings>

我的 Powershell 脚本。这似乎可以工作,但我不确定。

[xml]$xml = Get-Content "D:\config.xml"
[array]$service_arr = $xml.settings.services.sv

但是现在我想要显示它,但是我得到了“无法索引到空数组”的错误。

$service_arr[0]

我并不想为每个服务都使用不同的通用名称来创建变量。我只想能够使用array[0]、array[1]等方式来访问我的服务。


1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Loïc MICHEL
这并不能解决我的问题,因为我的PowerShell脚本不知道XML文件中的服务标记包含多少个元素。 - Tobi123
2
使用 foreach 循环。 - Loïc MICHEL
1个回答

5

你不必将$xml.settings.services.sv显式转换为一个[array],你可以使用例如foreach循环来迭代它:

foreach ($service in $xml.settings.services.sv)
{
    Write-host $service
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接