2010-11-26 9 views
6

したがって、WootAPIの一部をXPathで解析しようとしています。私が遭遇している問題は、2つの要素にコロン(woot:priceまたはwoot:conditionなど)が付いていることです。今、XPath //rss/channel/item/woot:priceを使用しようとすると、コロンのために、woot:priceという要素の内容は取得されません。とにかくそれを得るために私は何ができますか?XPathを使用してコロンを含む要素名を解析する

答えて

10

要素が名前空間の接頭辞を持ち、Woot名前空間にバインドされているためです。

XML namespaces and how they affect XPATH and XSLTをお読みください。

あなたのXPATHでWoot要素を参照したい場合は、にする必要があります、次のいずれか

  1. をあなたのXPATHでその名前空間接頭辞を使用する場合、それは理解されるようにWoot名前空間http://www.woot.com/を宣言します。
  2. local-name()namespace-uri()を使用して要素と一致する述語フィルタを使用する、より汎用的なXPATH文を使用します。
    • //rss/channel/item/*[local-name()='price' and namespace-uri()='http://www.woot.com/']
+0

1. Javaでそれを行う方法を知っていますか? 2.あなたが提供したその例を使用しようとしましたが、動作しませんでした。 :\ – Chiggins

+0

私は提供していたXPATHに間違いがありました(woot名前空間uriに "h"がなく、閉じ括弧がありませんでした)。私はそれを更新しました。リトライ。 –

+0

ああ、2の例を修正したようですが、魔法のように動作します。 :) – Chiggins

関連する問題