问题描述
我有简单的xml
<bds>
<bd>
<id>10</id>
<user>john</user>
<servers>
<name>pc24</name>
</servers>
</bd>
<bd>
<id>12</id>
<user>peter</user>
<servers>
<name>pc25</name>
</servers>
</bd>
</bds>
我想知道如何获得<name>
的值,即使先前节点的结构发生了变化
也就是说,如何在不知道先前节点名称的情况下漫游XML以获取名称标签的值?
解决方法
您可以为此使用XPath:
[xml]$xml = @"
<bds>
<bd>
<id>10</id>
<user>john</user>
<servers>
<name>pc24</name>
</servers>
</bd>
<bd>
<id>12</id>
<user>peter</user>
<servers>
<name>pc25</name>
</servers>
</bd>
</bds>
"@
$xml.SelectNodes('//name').'#text'
输出
pc24
pc25