2014-03-14 76 views
0

我有一個XML文件,我試圖將其轉換爲更類似於CSV格式的東西(以及將輸出放在具有共同分隔符的單行上的某種格式),但是我不能完全得到正確的語法,任何人都可以幫忙嗎? 的XML看起來是這樣的:使用xmlstarlet從XML中進行選擇 - 語法查詢

<?xml version="1.0" encoding="UTF-8"?> 
<TranslationTable> 
     <Translation Key="Document1" RelativePath="/home/path1"> 
       <Title>Doc1</Title> 
       <Description>First document</Description> 
     </Translation> 
     <Translation Key="Document2" RelativePath="/home/path2"> 
       <Title>Doc2</Title> 
       <Description>Second document</Description> 
     </Translation> 
</TranslationTable> 

而我目前的命令是這樣的

xmlstarlet sel -t -m //Translation -v @Key -o "|" -v @RelativePath -n /root/XML/file.xml 
Document1|/home/path1 
Document2|/home/path2 

但我想是還包括標題字段的內容,從而使輸出像這樣

Document1|/home/path1|Doc1 
Document2|/home/path2|Doc2 

任何人都可以幫忙嗎?謝謝。

回答

1

這是XPath

xmlstarlet sel -t -m //Translation -v @Key -o "|" -v @RelativePath -v 'Title/text()' -n /root/XML/file.xml 
+0

這似乎已經完成了招,非常感謝。 – user3419089

+0

不客氣。我希望xmlstarlet的'語言'更容易... – reinierpost

相關問題