xml - 从命令行列出 XML 节点的 XPath

标签 xml macos bash xpath

鉴于这个大型深层嵌套 XML 文档 (bookstore.xml) 的片段,我想知道 amazon 节点的完整路径。如何从命令行打印该路径?

<bookstore>
<book>
  <title lang="eng">Learning XML</title>
  <price>
    <retail>39.95</retail>
    <discounts>
      <amazon>29.99</amazon>
    </discounts>
    <currency>USD</currency>
  </price>
</book>
...
</bookstore>

理想情况下它应该是这样的:

old-gregg$ magic bookstore.xml amazon
/bookstore/book/price/discounts/amazon

最佳答案

我找到了 XMLStarlet它正是我在这里寻找的。使用 Homebrew 安装它:

$ brew update
$ brew install xmlstarlet
$ xml el bookstore.xml | grep amazon
/bookstore/book/price/discounts/amazon

关于xml - 从命令行列出 XML 节点的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12012352/

相关文章:

xml - 在 R 中将 XML 数据转换为平面文件

xml - 有没有可以帮助某人创建基于 Relax NG 模式的 XML 文档的应用程序?

objective-c - 需要急救人员解释

objective-c - 用 Common Crypto 替换 OpenSSL 依赖? (Mac App Store 收据验证)

linux - 使用脚本编辑文件中的文本

linux - 使用Python subprocess.call调用bash脚本和参数失败

C# XML 获取重复的空节点?

java - 在 ant 中使用较少的实用程序

python - mysql flask 中的光标无法正常工作

bash - 使用 sed 在匹配文本 block 后插入一行