借助终端上的 XML 工具包 XMLStarlet , 你就是 XML 之星 。
文章插图
学习解析 XML 通常被认为是一件复杂的事情 , 但它不一定是这样 。XML 是高度严格结构化的 , 所以也是相对来说可预测的 。也有许多其他工具可以帮助你使这项工作易于管理 。
我最喜欢的 XML 实用程序之一是 XMLStarlet , 这是一个用于终端的 XML 工具包 , 借助这个 XML 工具包 , 你可以验证、解析、编辑、格式化和转换 XML 数据 。XMLStarLet 是个相对较小的命令 , 但浏览 XML 却充满潜力 , 因此本文演示了如何使用它来查询 XML 数据 。
安装
XMLStarLet 默认安装在 CentOS、Fedora , 和许多其他现代 Linux 发行版上 , 所以你可以打开终端 , 输入 xmlstarlet来访问它 。如果 XMLStarLet 还没有被安装 , 你的操作系统则会为你安装它 。
或者 , 你可以用包管理器安装 xmlstarlet:
$ sudo dnf install xmlstarlet
在 macOS 上 , 可以使用 MacPorts或Homebrew 。在 Windows 上 , 可以使用Chocolatey 。
如果都失败了 , 你可以从 Sourceforge 上的源代码手动安装它 。
用 XMLStarlet 解析 XML
有许多工具可以帮助解析和转换 XML 数据 , 包括允许你 编写自己的解析器的软件库 , 和复杂的命令 , 如fop和xsltproc 。不过有时你不需要处理 XML 数据;你只需要一个方便的方法从 XML 数据中来提取、更新或验证重要数据 。对于随手的 XML 交互 , 我使用xmlstarlet , 这是常见的处理 XML任务的一个典型的“瑞士军刀”式应用 。通过运行–help命令 , 你可以看到它提供哪些选项:
$ xmlstarlet –helpUsage: xmlstarlet [
你可以通过在这些子命令的末尾附加 -help来获得进一步的帮助:
$ xmlstarlet sel –help-Q or –quiet– do not write anything to standard output.-C or –comp– display generated XSLT-R or –root– print root element <xsl-select>-T or –text– output is text (default is XML)-I or –indent– indent output[…]用 sel 命令选择数据
可以使用 xmlstarlet select(简称sel)命令查看 XML 格式的数据 。下面是一个简单的 XML 文档:
在 XML 文件中查找数据时 , 你的第一个任务是关注要探索的节点 。如果知道节点的路径 , 请使用 -value of选项指定完整路径 。你越早浏览文档对象模型(DOM)树 , 就可以看到更多信息:
$ xmlstarlet select –template–value-of /xml/os/linux/distribution–nl myfile.xmlFedora7Moonshine
LiveFedoraEverything
Fedora Core6Zod
–nl代表“新的一行” , 它插入大量的空白 , 以确保在输入结果后 , 终端在新的一行显示 。我已经删除了样本输出中的一些多余空间 。
通过进一步深入 DOM 树来凝聚关注点:
$ xmlstarlet select –template–value-of /xml/os/linux/distribution/name–nl myfile.xmlFedoraFedora Core条件选择
用于导航和解析 XML 的最强大工具之一被称为 XPath 。它规范了 XML 搜索中使用的语法 , 并从 XML 库调用函数 。XMLStarlet 能够解析 XPath 表达式 , 因此可以使用 XPath 函数来有条件的进行选择 。XPath 具有丰富的函数 , , 但我觉得 Mozilla 的 XPath 文档更简洁 。
可以使用方括号作为测试函数 , 将元素的内容与某个值进行比较 。下面是对 元素的值的测试 , 它仅返回与特定匹配相关联的版本号 。
- 免费的mysql可视化工具有哪些 mysql数据库可视化界面
- mov转mp4格式 安卓rmvb格式转换器
- mov转成mp4会变模糊 安卓rmvb格式转换器使用方法
- mp4转换器怎么用 安卓rmvb格式转换器
- 转换音乐格式哪个软件比较好用 音乐文件格式转换哪个软件好
- txv文件怎么打开 教你电脑打开txv格式
- 创业总结报告 创业总结报告的格式范文模板
- 格式化c盘会缩短电脑寿命呢 格式化c盘有什么后果
- 电脑上把word转换为pdf格式的方法 如何在电脑上把word转换为pdf格式
- Epub格式电子书制作 epub格式电子书怎么做