新闻中心

PowerShell的[xml]类型加速器怎么用

2025-12-16
浏览次数:
返回列表
[xml]是PowerShell中System.Xml.XmlDocument的类型加速器,支持从字符串或文件(需-Raw参数)加载XML,提供XPath查询、节点修改及保存功能。

powershell的[xml]类型加速器怎么用

[xml] 是 PowerShell 中最常用、最实用的类型加速器之一,它本质是 System.Xml.XmlDocument 类的快捷别名。你不需要写一长串 [System.Xml.XmlDocument],直接用 [xml] 就能快速把字符串或文件内容解析成可操作的 XML 对象。


[xml] 加载 XML 内容

只要数据格式合法,PowerShell 会自动解析为 XmlDocument 对象,支持 .SelectNodes().SelectSingleNode()、XPath 查询、属性访问等。

# 从字符串加载
$xml = [xml] @"
<root>
  <person id="1">
    <name>Alice</name>
    <age>30</age>
  </person>
  <person id="2">
    <name>Bob</name>
    <age>25</age>
  </person>
</root>
"@

# 从文件加载(推荐用 Get-Content -Raw,避免换行截断)
$xml = [xml](Get-Content -Raw "config.xml")

⚠️ 注意:

  • 必须用 -Raw 参数读取 XML 文件,否则 Get-Content 默认按行返回字符串数组,[xml] 无法解析。
  • 如果 XML 有 BOM 或编码问题(如 UTF-8 with BOM),建议加 -Encoding UTF8

[xml] 查询和修改节点

解析后就能像操作 DOM 一样处理:

魔法映像企业网站管理系统 魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

魔法映像企业网站管理系统 0 查看详情 魔法映像企业网站管理系统
# 查找所有 person 节点
$persons = $xml.root.person

# 用 XPath 查第一个 person 的 name
$name = $xml.SelectSingleNode("//person[1]/name").InnerText

# 查找 id=2 的 person 并改 age
$target = $xml.SelectSingleNode("//person[@id='2']")
$target.age = "26"

# 新增一个节点
$newPerson = $xml.CreateElement("person")
$newPerson.SetAttribute("id", "3")
$newName = $xml.CreateElement("name")
$newName.InnerText = "Charlie"
$newPerson.AppendChild($newName) | Out-Null
$xml.root.AppendChild($newPerson) | Out-Null

✅ 小技巧:

  • $xml.root.person 是 PowerShell 自动为根下同名子元素生成的集合属性,方便但不支持复杂筛选;
  • 真正灵活的查询必须用 .SelectSingleNode().SelectNodes() + XPath。

常见报错和避坑点

  • “Invalid XML” 或 “Data at the root level is invalid”
    多半是 XML 字符串开头有空格、BOM、或混入了 PowerShell 注释(如 ),先 Trim() 或用 -Raw 读取。

  • $xml.xxx 返回 null
    检查 XML 是否真有那个层级,或是否拼错了标签名(XML 区分大小写)。

  • 修改后保存不生效?
    [xml] 对象修改的是内存中的副本,要写回文件需显式调用:

    $xml.S*e("config.xml")

基本上就这些。[xml] 不复杂,但容易忽略 -Raw 和编码细节,用对了能省掉大量手动解析工作。

以上就是PowerShell的[xml]类型加速器怎么用的详细内容,更多请关注其它相关文章!


# 编码  # app  # 字符串数组  # 如何选择  # 管理系统  # 企业网站  # node  # 沈阳关键词排名联系电话  # 档案网站建设思考  # 花钱少的网络营销推广  # 青岛建设专业网站  # 博望seo网站优化公司  # 含山网站seo优化  # 恩施互联网营销推广  # 肇庆的网站建设维护  # 网站建设有哪些规模  # 百度seo软件很好 乐云seo  # 就能  # 第一个  # 的是  # 自己的  # 要写  # 用了  # 加载 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 如何在 Windows 11 中启动游戏手柄设置  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  J*a TimerTask中HashMap意外清空的深层原因与解决方案  知乎APP怎么管理已购盐选内容_知乎APP盐选内容购买记录与查看方法  CSS布局中意外空白:解决padding-top导致的顶部间距问题  Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略  打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门  照顾宝贝2小游戏免费秒玩入口  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  qq浏览器打开空白页怎么办 qq浏览器启动后显示白屏的解决教程  Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧  J*aScript中正确使用querySelectorAll与复杂CSS选择器  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  J*aScript实现单选按钮与关联输入框的联动禁用教程  优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践  百度网盘网页版入口 百度网盘网页版官方登录网址  Go语言HTML解析:利用Goquery精准获取指定元素内容  Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注  小猿搜题在线学习页面在哪_小猿搜题在线学习中心入口  动漫花园资源网使用步骤_动漫花园资源网下载流程  高德地图公交到站提醒失败如何解决 高德提醒权限设置  没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享  Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐  Linux如何构建多环境配置管理_Linux多环境配置方案  Lar*el Form Request中唯一性验证在更新操作中的正确实现  在命令行怎么运行html项目_命令行运行html项目方法【教程】  深入理解Promise链:如何在catch后中断then的执行  网易大神账号申诉需要多久_网易大神账号申诉流程说明  微信网页版官方快速登录入口 微信网页版网页版账号直达  天猫双十一预售商品怎么退款_天猫双十一预售退款操作指南  魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】  腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录  12306选座怎么选到临时改签座_12306改签选座策略与步骤  qq音乐在线播放入口_qq音乐电脑版登录链接  铃兰之剑为这和平的世界希里技能组及加点推荐  Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口  电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】  Shopware订单对象中获取产品自定义字段的正确方法  在python-socketio事件处理器中安全访问Flask应用上下文  快手极速版在线观看 官方网页版登录地址  TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程  c++如何使用Meson构建系统_c++比CMake更快的构建工具  Go语言JSON解析深度指南:动态访问与结构体映射实践  DLsite中文平台入口 DLsite官网内容在线查看  必由学官网首页入口 必由学教师网页版登录指南  深入理解Google Cloud Datastore查询:祖先路径与数据一致性  AO3最新官网入口公告_2025AO3镜像站实时查询方法 

搜索