我们说我有以下XML元素:
<test> 1000 </test>
我想将其更改为:
<test > 500 </test>
使用PowerShell我该怎么做。
我知道如何使用PowerShell创建xml对象并创建一个节点变量来访问XML中的某个节点。我只是不知道替换节点内文本的确切命令。
答案 0 :(得分:5)
与PowerShell一样,这可以通过多种方式完成。
如果您有<test name="frank">Some Text</test>
这样的元素,可以通过执行以下操作进行更改:
[xml]$xml = '<test name="frank">Some Text</test>'
$xml.test.InnerText = "Some Other Text"
但是,如果问题(<test>1000</test>
)中描述的元素很简单,则需要小心。
[xml]$xml = "<test>1000</test>"
$elements = $xml.SelectSingleNode("//test")
$elements[0].'#text' = "500"
原因是PowerShell将为$xml.test
返回一个字符串,并设置此字符串不会更新XmlDocument。