PowerShell怎么处理XML PowerShell操作XML文件教程

煙雲
发布: 2025-12-16 14:02:03
原创
162人浏览过
PowerShell处理XML便捷高效,核心是[xml]类型自动解析并支持点号语法访问节点属性;可加载、查询(XPath)、修改、保存或从零构建XML文档,但修改后须显式调用.Save()或输出内容。

powershell怎么处理xml powershell操作xml文件教程

PowerShell 处理 XML 文件非常方便,核心是用 [xml] 类型加速解析,配合点号语法(.)直接访问节点和属性,不用写复杂 DOM 代码。

读取 XML 文件并转为对象

PowerShell 把 XML 当作 .NET 的 System.Xml.XmlDocument 对象处理,支持强类型访问:

  • [xml]$xml = Get-Content "config.xml" 加载文件(自动解析)
  • 或用 [xml]$xml = [xml]::new(); $xml.Load("config.xml") 手动加载(适合大文件或需异常控制)
  • 成功后可直接用 $xml.Root.Child.Name 访问元素,$xml.Root.Child.Attribute 读属性

查询和筛选节点(XPath + SelectSingleNode/SelectNodes)

原生支持 XPath,比遍历更高效:

  • $xml.SelectSingleNode("//user[@id='101']") —— 找 id=101 的 user 节点
  • $xml.SelectNodes("/config/appSettings/add") —— 获取所有 add 元素
  • 结果是 XmlNode 集合,可管道进 ForEach-Object 处理

修改和保存 XML

改值、增删节点都直观,但注意:修改后必须显式保存:

MCP市场
MCP市场

中文MCP工具聚合与分发平台

MCP市场 211
查看详情 MCP市场
  • 改文本:$node.InnerText = "new value"
  • 改属性:$node.SetAttribute("enabled", "true")
  • 新增子节点:$new = $xml.CreateElement("log"); $node.AppendChild($new)
  • 保存:$xml.Save("config.xml")(覆盖原文件)或 $xml.OuterXml | Set-Content "new.xml"

写入新 XML(从零构建)

适合生成配置或导出数据:

  • 创建空文档:$xml = [xml]::new()
  • 添加根节点:$root = $xml.CreateElement("config"); $xml.AppendChild($root)
  • 追加子节点:$child = $xml.CreateElement("version"); $child.InnerText = "2.1"; $root.AppendChild($child)
  • 最后别忘 $xml.Save("output.xml")

基本上就这些。PowerShell 操作 XML 不复杂但容易忽略保存步骤,记得每次改完调 .Save() 或重新输出内容。

以上就是PowerShell怎么处理XML PowerShell操作XML文件教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号