这个问题在这里已有答案:
我正在研究XML文件
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>adc</author>
<year>2005</year>
<price>30.00</price> </book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>xyz</author>
<year>2005</year>
<price>29.99</price> </book>
</bookstore>
在linux上使用xmlstarlet
xmlstarlet sel -t -m 'bookstore/author [1]' -n books.xml
将输出作为"adc"
,但是当我已经知道值时,我怎样才能找到该字段?
就像我知道作者标签有价值"adc"
。我怎么能找到bookstore/author [x]
x
?
经过一番搜索后,我找到了答案并将其留在别人身上
要在xmlstarlet中按字段选择值,请使用
xmlstarlet -t -c 'bookstore/book[author="adc"]' -n books.xml
这里bookstore / book是节点的完整路径,其中包含作者[author = value]用于选择只有作者具有特定值的节点而books.xml是你的xml文件
我相信其他人可以更好地解释,但希望你能找到一些帮助