使用PowerShell在Synergy.xml指定位置插入XML节点的方法
PowerShell 插入XML节点实现方案
以下是在<DocName>和<Institution>之间插入<Cabinet>MEMBER</Cabinet>节点的具体步骤和代码:
加载XML文件
读取目标XML文件并转换为PowerShell可操作的XML对象:$xmlPath = "Synergy.xml" $xml = [xml](Get-Content -Path $xmlPath)定位参考节点
找到<Institution>节点,作为插入新节点的位置参考(新节点会插在它之前):$institutionNode = $xml.Document.Institution创建新节点
生成<Cabinet>节点并设置其文本内容:$cabinetNode = $xml.CreateElement("Cabinet") $cabinetNode.InnerText = "MEMBER"执行插入操作
调用父节点(<Document>)的InsertBefore方法完成插入:$xml.Document.InsertBefore($cabinetNode, $institutionNode)保存修改
将修改后的XML对象写回原文件:$xml.Save($xmlPath)
完整代码
# 加载XML文件 $xmlPath = "Synergy.xml" $xml = [xml](Get-Content -Path $xmlPath) # 定位参考节点 $institutionNode = $xml.Document.Institution # 创建并配置新节点 $cabinetNode = $xml.CreateElement("Cabinet") $cabinetNode.InnerText = "MEMBER" # 插入节点 $xml.Document.InsertBefore($cabinetNode, $institutionNode) # 保存修改 $xml.Save($xmlPath)
补充说明
- 若要通过
<DocName>节点定位插入位置,可将参考节点替换为$xml.Document.DocName.NextSibling,效果完全一致。 - PowerShell的XML对象会自动保留原文件的缩进格式,无需手动调整。
内容的提问来源于stack exchange,提问作者mhughey
相关产品推荐
相关产品推荐

