只需遍历 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)"
}