我想從xml只拉「圖像」,但我得到一個錯誤,因爲第一對夫婦不包括「圖像」。xmllint匹配和提取值
<?xml version='1.0' encoding='utf-8'?>
<document>
<job name="Job1">
<type>
<description>
</description>
</type>
</job>
<job name="Job2">
<type>
<description>
</description>
</type>
</job>
<job name="Job3">
<type>
<description>
<image>
<png></png>
</image>
</description>
</type>
</job>
</document>
它如何跳過前兩個匹配第三個圖像標籤?
xmllint --xpath "//*[local-name()='document']/job/type/description/image/png/text()" file
什麼錯誤,*完全*?你的代碼應該已經完成你描述的內容。另外,爲什麼所有這些與'local-name'混淆?你有沒有向我們展示命名空間? – 2015-02-23 22:45:31
@MathiasMüller,...雖然在給出的示例文檔中,'png'沒有子文本節點。 OP選擇不在其問題中提供的錯誤是「XPath設置爲空」。 – 2015-02-23 22:50:56
XPath查詢在許多方面都起作用,就像SQL連接一樣 - 它已經*繼續查找所有規範對齊的元素,而不是放棄如果它啓動的第一個路徑不起作用。 – 2015-02-23 22:56:45