2017-05-26 117 views
1

XML实例:xmlstarlet搜索属性

<?xml version="1.0" encoding="UTF-8"?> 
<profile> 
<section name="Vision"> 
<key name="Name" value="BBBB"/> 
<key name="Name_Remark" value="GGGG"/> 
<key name="Position" value="30"/> 
</section> 
</profile> 

如何我可以xmlstarlet其中名称是 “位置” 获得价值。现在是30.

谢谢。

回答

0

您可以使用此命令行...

xmlstarlet sel -t -v "/profile/section/key[@name='Position']/@value" -n input.xml 

sel命令告诉xmlstarlet选择。

-t选项告诉xmlstarlet以下选项-t适用于模板。

-v告诉xmlstarlet打印XPath表达式的值。

-n告诉xmlstarlet打印一个新行。 (并非完全必要)

所有这些都可以通过从命令行运行xmlstarlet sel --help来找到。

+0

感谢支持。我还有一个问题:我如何在一行中得到逗号分隔的输出 - 例如30,BBBB?谢谢 –

+0

@ Max-M - 请另外创建一个问题。随意添加一个链接到它作为这个问题的评论。 –