繁体   English   中英

通过 Powershell 编辑 XML 节点

[英]Edit XML Nodes via Powershell

我正在尝试将序列号列表添加到 XML 文件并使用 powershell 自动执行此操作。 到目前为止,我能够打开 xml 文档并获取“serialNo”值的值,但是我将如何循环并修改它呢?

例如,我有一个名为 serial.txt 的文件,其中包含以下值:

 123456
 123566  

我有一个名为 data.xml 的 xml 文件,其内容如下:

<form1>

<label1>
<label>
<serialNo> </serialNo>
<barcodeNo/>
</label>
</label1>
<label2>
<label>
<serialNo> </serialNo>
<barcodeNo/>
</label>
</label2>

</form1>

到目前为止,这是我的 powershell 代码,我能够从 xml 文件中获取值,但是如何循环并修改 serialNo 节点?

$serialNumbers = Get-Content ".\serial.txt"

[xml]$xmlDoc = Get-Content ".\data.xml"

$nodes = $xmlDoc.SelectNodes("//serialNo")


$i = 1;
foreach($node in $nodes){

     $node.'#text' = $serialNumbers[$i]
     $i++
}

感谢 mclayton 和 Theo,这是结束脚本

$serialNumbers = Get-Content "C:\Users\user1\Desktop\PowerShellExperiment\test\serial.txt"

[xml]$xmlDoc = Get-Content "C:\Users\user1\Desktop\PowerShellExperiment\test\data.xml"

$nodes = $xmlDoc.SelectNodes("//serialNo")


$i = 0;
foreach($node in $nodes){

     $node.InnerText = $serialNumbers[$i]
     $i++
}

$xmlDoc.Save("C:\Users\user1\Desktop\PowerShellExperiment\test\data.xml")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM