全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Linux命令行怎么处理XML xmllint命令用法

xmllint 是 libxml2 提供的轻量高效命令行 XML 工具,支持格式校验、XPath 提取、美化输出及交互式操作,无需 Python/Java 环境,Linux/macOS 均可通过包管理器安装。

xmllint 是 libxml2 提供的命令行 XML 处理工具,轻量、高效,适合在 Shell 脚本中做格式校验、内容提取、结构查询等操作。它不依赖 Python 或 Java 环境,系统自带或 apt/yum 安装即可使用。

安装 xmllint

多数 Linux 发行版默认未预装,需手动安装:

  • Ubuntu/Debian:sudo apt install libxml2-utils
  • CentOS/RHEL/Fedora:sudo yum install libxml2 -y(RHEL8+ 用 dnf install libxml2
  • macOS(Homebrew):brew install libxml2(注意:可能需加 --with-python 或确认 bin 路径)

验证 XML 格式是否合法

这是最常用场景,用于 CI/CD 中检查配置文件是否语法正确:

  • 基础校验:xmllint --noout config.xml(无输出表示合法;报错则说明有语法问题)
  • 带错误位置提示:xmllint --noout --valid config.xml(强制 DTD 验证,若含 DOCTYPE 才生效)
  • 忽略命名空间警告(常见于 RSS/Atom):xmllint --noout --nsclean feed.xml

提取 XML 中的文本内容

用 XPath 表达式精准定位节点值,比正则更可靠:

  • 提取所有 文本:xmllint --xpath '//title/text()' book.xml
  • 提取带属性的节点(如 id=123 的 item):xmllint --xpath '//item[@id="123"]/name/text()' data.xml
  • 提取多个字段并换行分隔:xmllint --xpath 'concat(//author/text(), " ", //year/text())' book.xml

注意:XPath 中的引号要匹配,单引号内用双引号包属性值,反之亦然;text() 是获取纯文本的关键,漏掉会返回带标签的字符串。

格式化(美化)XML 输出

把压缩或混乱的 XML 变成可读缩进格式,便于人工查看或 diff:

  • 标准美化:xmllint --format raw.xml
  • 美化并保存到新文件:xmllint --format raw.xml > pretty.xml
  • 只美化不校验(跳过解析错误):xmllint --format --recover broken.xml--recover 尝试修复小错误)

其他实用技巧

  • 查看 XML 结构概览:xmllint --shell file.xml(进入交互模式,支持 catlspwd 等命令)
  • 删除指定节点后输出:xmllint --shell file.xml (配合 shell 管道使用)
  • 验证是否符合 XSD 模式:xmllint --schema schema.xsd data.xml(需 XSD 文件且 XML 声明了 namespace)

不复杂但容易忽略:xmllint 默认不加载外部 DTD 或实体,如需解析   这类实体,加上 --loaddtd 参数;脚本中建议始终用 --nonet 防止意外联网请求。


# linux  # python  # java  # centos  # ubuntu  # 工具  # mac  # macos  # dnf  # 配置文件 


相关文章: 如何使用Golang安装API文档生成工具_快速生成接口文档  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  简历在线制作网站免费版,如何创建个人简历?  如何在新浪SAE免费搭建个人博客?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  香港服务器选型指南:免备案配置与高效建站方案解析  建站主机类型有哪些?如何正确选型  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何选择建站程序?包含哪些必备功能与类型?  深圳网站制作的公司有哪些,dido官方网站?  广州美橙建站如何快速搭建多端合一网站?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站之星后台管理:高效配置与模板优化提升用户体验  建站之星2.7模板快速切换与批量管理功能操作指南  如何快速搭建高效可靠的建站解决方案?  建站主机解析:虚拟主机配置与服务器选择指南  高性价比服务器租赁——企业级配置与24小时运维服务  建站之星上传入口如何快速找到?  如何高效利用200m空间完成建站?  如何在自有机房高效搭建专业网站?  如何在香港免费服务器上快速搭建网站?  定制建站策划方案_专业建站与网站建设方案一站式指南  全景视频制作网站有哪些,全景图怎么做成网页?  建站之星价格显示格式升级,你的预算足够吗?  定制建站哪家更专业可靠?推荐榜单揭晓  教学网站制作软件,学习*后期制作的网站有哪些?  如何选择靠谱的建站公司加盟品牌?  网站制作的步骤包括,正确网址格式怎么写?  如何解决VPS建站LNMP环境配置常见问题?  上海网站制作开发公司,上海买房比较好的网站有哪些?  如何在阿里云完成域名注册与建站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  网站制作公司排行榜,四大门户网站排名?  宝塔面板如何快速创建新站点?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  存储型VPS适合搭建中小型网站吗?  ,南京靠谱的征婚网站?  如何快速生成ASP一键建站模板并优化安全性?  如何用低价快速搭建高质量网站?  如何在Tomcat中配置并部署网站项目?  如何快速搭建安全的FTP站点?  已有域名如何免费搭建网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何通过建站之星自助学习解决操作问题?  个人网站制作流程图片大全,个人网站如何注销? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。