2013-10-15 20 views
0

XML文件:如何使用XPath來解析以下「標記」值?

<xml-fragment xmlns:xyz="http://someurl"> 
    <xyz:xyzcontent> 
    <contentattribute> 
     <key>tags</key> 
     <value>tag1, tag2</value> 
    </contentattribute> 
    </xyz:xyzcontent> 
... 

我已經試過如下:

XPathExpression createdDateExpression = xpath.compile("/contentattribute/key/attribute::tags/value"); 

回答

1

有幾個問題與您的查詢。

  • 的XML被打破(根標籤未關閉) - 可能只是複製/粘貼錯誤
  • 你開始的地方就在XML樹的中間,但真正嘗試從根本上查詢節點。在開始時使用後代或自我軸//
  • 您使用attribute軸來查詢哪個屬性?空無一人。
  • 你在哪裏註冊了命名空間?無論如何,什麼名字空間是xyz?我想這實際上是vp,但是你不完全混淆(或者沒有給出文檔的所有相關部分)。
  • 使用謂詞和字符串比較來篩選軸步驟。

嘗試以下操作:

  • 確保註冊了命名空間,看看爲參考(或給出更多的信息)。
  • 使用XPath查詢//contentattribute[key='tags']/value