我正在尝试从
XML标签访问和更改特定属性
XML:
<office> <staff branch="Hanover" Type="sales"> <employee> <Name>Tobias Weltner</Name> <function>management</function> <age>39</age> </employee> <employee> <Name>Cofi Heidecke</Name> <function>security</function> <age>4</age> </employee> </staff> <staff branch="London" Type="Technology"> <employee> <Name>XXXX</Name> <function>gement</function> <age>39</age>
从上面的例子我想打印分支属性,然后想要在所有的整个XML中使用一个值(如New York)来改变它,并使用下面的代码来做
$xml=New-Object XML $xml.Load("C:\FE6Work.xml") $node=$xml.SelectNodes("/office/staff") write-output $node.branch $node.branch="New York"
但是得到一个错误,表示找不到元素.
有人可以帮忙吗?
尝试以下:
$nodes = $xml.SelectNodes("/office/staff"); foreach($node in $nodes) { $node.SetAttribute("branch","New York"); }
这将遍历SelectNodes()返回的所有节点并修改每个节点.