2010-11-26 54 views
6

所以我試圖用XPath解析一些WootAPI。我遇到的一個問題是,其中一些元素的名稱中含有冒號,例如woot:pricewoot:condition。現在,我想,嘗試使用XPath //rss/channel/item/woot:price將不會獲取元素woot:price的內容,因爲冒號。無論如何,我能做些什麼來得到它?使用XPath解析包含冒號的元素名稱

回答

10

冒號是因爲元素有一個名稱空間前綴並綁定到Woot命名空間。

您應該閱讀XML namespaces and how they affect XPATH and XSLT

如果你想引用你的XPATH的活泉元素,你要麼需要:

  1. 聲明活泉命名空間http://www.woot.com/,這樣當你使用你的XPATH命名空間前綴是可以理解的。
  2. 使用更通用的XPATH語句,該語句使用謂詞過濾器,使用local-name()namespace-uri()來匹配元素。
    • //rss/channel/item/*[local-name()='price' and namespace-uri()='http://www.woot.com/']
+0

1.知道如何做到這一點在Java中? 2.我嘗試使用您提供的示例,但它不起作用。 :\ – Chiggins 2010-11-26 02:44:20

相關問題