如何使用PowerShell更改XML Element属性的值?

我正在尝试从 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()返回的所有节点并修改每个节点.

相关文章
相关标签/搜索