我有一个很容易解决的问题,但已经解决了好几天,但运气不佳。
我有一个这样的 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/