PowerShell怎么读取和修改XML文件

admin 百科 14
PowerShell通过[xml]类型转换读取XML并用XmlDocument操作,需注意UTF8编码、命名空间处理及XPath定位,修改后调用.Save()保存。

PowerShell怎么读取和修改XML文件-第1张图片-佛山资讯网

PowerShell 读取和修改 XML 文件非常方便,核心是用 [xml] 类型加速解析,再通过 .NET 的 XmlDocument 对象操作节点。关键不是“怎么加载”,而是“怎么准确定位并安全修改”——尤其要注意命名空间、属性写法、保存编码等易错点。

读取 XML 并转为可操作对象

直接用 [xml] 强制类型转换是最常用方式,PowerShell 会自动加载为 XmlDocument 对象:

$xml = [xml](Get-Content "config.xml" -Encoding UTF8)

登录后复制

⚠️ 注意:
– 必须指定 -Encoding UTF8(或对应编码),否则含中文时可能乱码;
– 文件路径要存在,否则报错;
– 如果 XML 格式不合法(如标签未闭合),转换会失败,建议加 try/catch

查找和读取特定节点内容

推荐用 SelectSingleNode()SelectNodes() 配 XPath,比遍历更精准:

  • $xml.SelectSingleNode("//server[@id='prod']/ip").InnerText → 获取 id="prod" 的 server 下 ip 节点的文本
  • $xml.SelectNodes("//user").Count → 统计所有 user 节点个数
  • 若 XML 含命名空间(如 xmlns="http://example.com/ns"),需先创建 XmlNamespaceManager 并注册前缀,否则 XPath 查不到

修改节点内容、属性或结构

改内容用 .InnerText,改属性用 .SetAttribute(),新增节点用 .CreateElement() + .AppendChild()

标签: node 编码 app .net

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~