2014-05-22 27 views
1

遍歷一個XML文件,假設我有如下一個XML文件:如何通過xmlstarlet

<root> 
<element1>value1</element1> 
<element2>value2</element2> 
<element3>value3</element3> 
</root> 

我想遍歷這個XML文件,而該元素的名稱和值存儲在一個地圖。如何通過xmlstarlet來做到這一點?任何幫助將不勝感激!

回答

0

這應該這樣做

xmlstarlet sel -t -m "/root[*]" -v . your.xml 

說明:

sel -t 

標準設置爲選擇與輸出

-m "/root[*]" 

這要求在字面「根的匹配(-m) 「和/或每個直接節點,在這種情況下定義爲XPath通配符(*),做一些事情。 (FYI - 讓時髦你必須使用一個小的XPath xmlstarlet - 只要確保始終包裹在()也方便使用「-i」時。)

-v . 

這是請求值當前路徑中的元素(-v)和'。'用於迭代中的當前元素。 (因爲我們不知道名字)

your.xml 

文件名。 (你的,不是我的)

希望能幫助你。

-DG