假设我有以下XML元素:
<test> 1000 </test>
Run Code Online (Sandbox Code Playgroud)
我想将其更改为:
<test > 500 </test>
Run Code Online (Sandbox Code Playgroud)
使用PowerShell我该怎么做。
我知道如何使用PowerShell制作xml对象,以及如何使节点变量访问XML中的特定节点。我只是不知道替换节点内文本的确切命令。
与所有PowerShell一样,这可以通过多种方式完成。如果您具有这样的元素,则<test name="frank">Some Text</test>
可以通过执行以下操作来更改它:
[xml]$xml = '<test name="frank">Some Text</test>'
$xml.test.InnerText = "Some Other Text"
Run Code Online (Sandbox Code Playgroud)
但是,如果您的元素很简单,如问题(<test>1000</test>
)中所述,则需要多加注意。
[xml]$xml = "<test>1000</test>"
$elements = $xml.SelectSingleNode("//test")
$elements[0].'#text' = "500"
Run Code Online (Sandbox Code Playgroud)
原因是PowerShell将为其返回字符串,$xml.test
并且设置该字符串不会更新XmlDocument。
归档时间: |
|
查看次数: |
6769 次 |
最近记录: |