2017-05-26 156 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 - 請另外創建一個問題。隨意添加一個鏈接到它作爲這個問題的評論。 –