今天,我開始學習如何正確使用xmllint。它似乎沒有被很好的覆蓋或解釋。我打算使用單個語言資源文件來運行我的整個系統。我有一個混合的bash腳本和php頁面,必須從這個語言文件中讀取。使用XPATH的Linux Bash XMLLINT
目前我使用以下格式在我的xml文件en.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item id="index.php">
<label>LABEL</label>
<value>VALUE</value>
<description>DESCRIPTION</description>
</item>
<item id="config.php">
<label>LABEL</label>
<value>VALUE</value>
<description>DESCRIPTION</description>
</item>
</resources>
現在我要開始一個bash腳本行應該從XML文件中提取數據值。例如,我想從index.php
項目獲得DESCRIPTION
的值。
我用
xmllint --xpath 'string(//description)' /path/en.xml
的不同佈局,工作,但現在我改變我的XML文件的佈局,我失去了對如何最好地針對特定<item>
,然後向下鑽取到其在bash腳本中的子元素。
有人可以幫助xmllint --xpath
線獲得這個值嗎?
工程。非常感謝你的時間和考慮 – RootWannaBe 2014-11-03 08:20:03
嗨,您使用的是哪個版本的xmllint?我有'xmllint --version xmllint:使用libxml版本20626 編譯時使用:線程樹輸出推式閱讀器模式編寫器SAXv1 FTP HTTP DTDValid HTML舊版C14N目錄XPath XPointer XInclude Iconv ISO8859X Unicode正則表達式自動化Expr架構Schematron模塊調試' t有** - xpath **選項 – 2016-12-22 07:20:34
@ReddySK結果在我用'xmllint:using libxml version 20902'獲得的答案中,但實際上並沒有報告xmllint本身的版本,而是底層庫的版本(最重要的是,libxml)。看起來你有這裏描述的問題:http://stackoverflow.com/q/11975862/1987598,但試圖讓'-xpath'在xmllint中工作是不值得的麻煩:xmllint主要是一個驗證工具,不適用於XPath表達式。改爲使用您選擇的編程語言的XPath庫。 – 2016-12-22 11:49:29