2012-04-20 27 views
15

मैं एंड्रॉइड का उपयोग कर वेब से एक्सएमएल पार्स कर रहा हूं। नीचे दिया गया कोड एक्सएमएल का नमूना दिखाता है। मेरी समस्या यह है कि मुझे आइटम टैग का स्ट्रिंग मान नहीं मिल रहा है। जब मैं name = attributes.getQName(i); का उपयोग करता हूं तो यह नाम का आउटपुट करता है, न कि विशेषता का मान।SAX पार्सर के साथ, एक विशेषता का मान प्राप्त करें

<weatherdata> 
<timetags> 
    <item name="date"> 
    <value>20/04/2012</value> 
    <unit/> 
    <image/> 
    <class>dynamic</class> 
    <description>The current date</description> 
    </item> 

उत्तर

17

उपयोग

attributes.getValue(i); 

बजाय

attributes.getQName(i); 

क्योंकि doc कहते हैं:

getQName: एक विशेषता के योग्य (पहले से जुड़ा हुआ) नाम लौटें।

getValue: योग्य (पहले से जुड़ा हुआ) नाम से एक विशेषता के मूल्य को फिर से देखें।

विशेषता नाम और मान

2

प्राप्त करने के लिए this उदाहरण देखने का प्रयास करें attributes.getValue(i) विधि

13
@Override 
public void startElement(String uri, String localName, String qName, 
     Attributes attributes) throws SAXException { 
    if(localName.equalsIgnoreCase("item")){ 
     //currentMessage.setMediaUrl(attributes.getValue(BaseFeedParser.Url)); 
        String valueis=attributes.getValue("name") 
    } 
    super.startElement(uri, localName, qName, attributes); 
} 
संबंधित मुद्दे