xmlstarlet不能用于基于子字符串值的简单选择[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我正在研究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

xml xml-parsing xmlstarlet
1个回答
0
投票

经过一番搜索后,我找到了答案并将其留在别人身上

要在xmlstarlet中按字段选择值,请使用

xmlstarlet -t -c 'bookstore/book[author="adc"]' -n books.xml

这里bookstore / book是节点的完整路径,其中包含作者[author = value]用于选择只有作者具有特定值的节点而books.xml是你的xml文件

我相信其他人可以更好地解释,但希望你能找到一些帮助

© www.soinside.com 2019 - 2024. All rights reserved.