[英]Powershell - Updating XML Text under Count Node
我有一个像这样的 XML 文件
<Transactions>
<Transaction Type="Login">
<LoginSetting>blahblah</LoginSetting>
</Transaction>
<Transaction Type="Search">
<Parameters>blahblah</Parameters>
<Count>Setting</Count>
</Transaction>
<Transaction Type="Logout">
<LogoutSetting>blahblah</LogoutSetting>
</Transaction>
</Transactions>
此文件的路径存储在 $xml_path 下,并使用 powershell 我已将这些设置导入 [xml]$xml
[xml]$xml = (get-content $xml_path)
我正在尝试更新“计数”节点下的值
$xml.Transactions.Transaction.Count = 'NewSetting'
由于 .Count 是可以运行以获取名为“Transaction”的节点数的东西,powershell 给了我这个错误输出
'Count' is a ReadOnly property.
还有另一种方法可以更新“Count”节点下的值吗?
这是我的解决方法:我将 xml 数据导入到两个变量中 - 一个为纯文本,另一个为 XML
$xml_flat = (get-content $xml_path)
[xml]$xml = (get-content $xml_path)
我从 xml 变量中提取了“Count”的值(因为它不一定具有显示的“Setting”值)
$count = Select-Xml -XML $xml -XPath "//Count"
我对 flat 变量运行了 .replace 以更新我需要的设置。
$xml_flat = $xml_flat.replace("<Count>$count</Count>","<Count>NewSetting</Count>")
从那里我能够将 $xml_flat 作为 $xml_new 导入到 xml 变量中,并且能够做我需要做的任何其他事情
[xml]$xml_new = $xml_flat
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.