只需遍历 XML 文件,列出节点供用户选择
Simply iterate through XML file, listing nodes for user choice
我正在尝试遍历 XML 文件并显示节点名称。最终目标是让用户 select 有一个选项,然后引用该节点的值。下面的代码只输出以下内容:
> builds
我希望它输出这个:
> LastKnownGood
> Latest
我做错了什么?
RunBuild.ps1
$buildsFile = [System.Xml.XmlDocument](Get-Content "$($config.buildspath)/builds.xml");
$builds = $buildsFile.builds;
Write-Host "Available Builds: "
ForEach ($buildVersion in $builds) {
Write-Host " > $($buildVersion.Name)"
}
builds.xml
<builds>
<LastKnownGood>Build 8</LastKnownGood>
<Latest>Build 18</Latest>
</builds>
已将 ForEach ($buildVersion in $builds)
更改为 ForEach ($buildVersion in $builds.ChildNodes)
,现在可以按预期工作了。
ForEach ($buildVersion in $builds.ChildNodes) {
Write-Host " > $($buildVersion.LocalName)"
}
我正在尝试遍历 XML 文件并显示节点名称。最终目标是让用户 select 有一个选项,然后引用该节点的值。下面的代码只输出以下内容:
> builds
我希望它输出这个:
> LastKnownGood
> Latest
我做错了什么?
RunBuild.ps1
$buildsFile = [System.Xml.XmlDocument](Get-Content "$($config.buildspath)/builds.xml");
$builds = $buildsFile.builds;
Write-Host "Available Builds: "
ForEach ($buildVersion in $builds) {
Write-Host " > $($buildVersion.Name)"
}
builds.xml
<builds>
<LastKnownGood>Build 8</LastKnownGood>
<Latest>Build 18</Latest>
</builds>
已将 ForEach ($buildVersion in $builds)
更改为 ForEach ($buildVersion in $builds.ChildNodes)
,现在可以按预期工作了。
ForEach ($buildVersion in $builds.ChildNodes) {
Write-Host " > $($buildVersion.LocalName)"
}