2010-11-26 10 views
6

युक्त तत्व नाम को पार्स करने के लिए XPath का उपयोग करें, इसलिए मैं XPath के साथ WootAPI में से कुछ को पार्स करने का प्रयास कर रहा हूं। एक समस्या जो मैं चल रहा हूं वह यह है कि कुछ तत्वों में उनके नाम पर कोलन हैं, जैसे कि woot:price या woot:condition। अब, मुझे लगता है कि XPath //rss/channel/item/woot:price तत्व woot:price तत्व की सामग्री को नहीं ले जाएगा। वैसे भी इसे पाने के लिए मैं क्या कर सकता हूं?एक कोलन

उत्तर

10

कॉलन इसलिए हैं क्योंकि तत्वों का नामस्थान उपसर्ग है और वे रूट नेमस्पेस से बंधे हैं।

आपको XML namespaces and how they affect XPATH and XSLT पर पढ़ना चाहिए।

आप या तो करने की आवश्यकता होगी आप अपने XPATH में Woot तत्वों को संदर्भित करना चाहते हैं:

  1. Woot नाम स्थान http://www.woot.com/ घोषित इसलिए जब आप का उपयोग करें कि आपके XPATH में नामस्थान उपसर्ग यह समझा जाएगा।
  2. तत्व से मेल खाने के लिए local-name() और namespace-uri() का उपयोग करने वाले अनुमानित फ़िल्टर का उपयोग करने वाले अधिक सामान्य XPATH कथन का उपयोग करें।
    • //rss/channel/item/*[local-name()='price' and namespace-uri()='http://www.woot.com/']
+0

1. पता है कि कैसे करना है जावा में? 2. मैंने आपके द्वारा प्रदान किए गए उदाहरण का उपयोग करने का प्रयास किया, और यह काम नहीं किया। : \ – Chiggins

+0

मुझे XPATH में एक गलती हुई थी जिसे मैंने प्रदान किया था (लूट नेमस्पेस यूरी में "एच" गायब था और बंद ब्रैकेट नहीं था)। मैंने इसे अपडेट किया है। पुन: प्रयास करें। –

+0

आह, ऐसा लगता है कि आपने 2 में उदाहरण तय किया है, जादू की तरह काम करता है। :) – Chiggins

संबंधित मुद्दे