XMLStarlet:如何选择 XML,返回空

标签 xml xmlstarlet

我有一个很容易解决的问题,但已经解决了好几天,但运气不佳。

我有一个这样的 XML 文档:

<?xml version="1.0"?>
<readiness>
    <model>
        <name>Power</name>
        <state>
            <pdlReq>PASS</pdlReq>
            <fileReq>PASS</fileReq>
        </state>
    </model>
</readiness>

我正在尝试选择...任何真正的东西。我什至不能让最简单的例子起作用。我试过的:

  • xmlstarlet sel -T -t -m "//readiness"modelReadinessState.xml
  • xmlstarlet sel -T -t -m "/readiness"modelReadinessState.xml
  • xmlstarlet sel -T -t -m "readiness"modelReadinessState.xml
  • xmlstarlet sel -T -t -m "/readiness/model[name='Power']"-v pdl modelReadinessState.xml
  • xmlstarlet sel -T -t -m "/readiness/model[name='Power']"-v pdl -n modelReadinessState.xml
  • xmlstarlet sel -T -t -m "/readiness/model[name='Power']"modelReadinessState.xml
  • xmlstarlet sel -t -m "//readiness"modelReadinessState.xml
  • xmlstarlet sel -t -m "/readiness"modelReadinessState.xml
  • xmlstarlet sel -t -m "readiness"modelReadinessState.xml

我不知道为什么它不起作用 :( 我只是返回空白。

注意:此 xml 文件中没有定义命名空间。

有什么想法吗?

最佳答案

试试这些:

xmlstarlet sel  -t -c  "//readiness"           modelReadinessState.xml

xmlstarlet sel  -t -c  "readiness/model/name"  modelReadinessState.xml

xmlstarlet sel  -t -v  "readiness/model/name"  modelReadinessState.xml

关于XMLStarlet:如何选择 XML,返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138871/

相关文章:

linux - 使用 shell 脚本打破条件循环逻辑读取 .csv 文件

xmlstarlet递归地从多个文档中删除父元素

xml - 使用 PowerShell 下载 XML 并另存为 CSV 文件?

java - XML 搜索和解析

java - 无法从 Java 程序中引用的 main.xml 获取小部件

xmlstarlet 解析器错误 : Entity '*' not defined

xml - 用于更新部分 XML 元素值的 Bash 脚本

java - 每次我添加/删除任何内容时都强制重新启动并使缓存无效?

java - JAXB XML 自定义 namespace

xml - 使用XMLStarlet插入1000多个节点和属性-运行缓慢