使用PowerShell更新xml特定值

时间:2013-11-28 08:41:23

标签: xml powershell xpath

假设我有这个xml文件

<section name="AAA">
    <Item1>FALSE</Item1>
    <Item2>FALSE</Item2>
    <Item3>FALSE</Item3>
</section>
<section name="BBB">
    <Item1>FALSE</Item1>
    <Item2>FALSE</Item2>
    <Item3>FALSE</Item3>
</section>

如何使用PowerShell更新特定值(使用XPath是正确的方法?)

含义更新Item2,在section name =“BBB”

1 个答案:

答案 0 :(得分:1)

假设您的XML有一个名为root的根节点,并且文档加载为$doc,则以下内容将在控制台上打印修改后的文档。

$doc.root.SelectSingleNode("section[@name='BBB']/Item2")."#text" = "True"
$doc.Save([console]::out)
# Output
<?xml version="1.0" encoding="ibm850"?>
<root>
  <section name="AAA">
    <Item1>FALSE</Item1>
    <Item2>FALSE</Item2>
    <Item3>FALSE</Item3>
  </section>
  <section name="BBB">
    <Item1>FALSE</Item1>
    <Item2>True</Item2>
    <Item3>FALSE</Item3>
  </section>
</root>