我有一个非常容易解决的问题,但是已经好几天没有运气了。
我有一个这样的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文件中没有定义名称空间。
有什么想法吗?
答案 0 :(得分:2)
试试这些:
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