2012-04-20 4 views
15

Ich analysiere XML aus dem Internet mit Android. Der folgende Code zeigt ein Beispiel des XML. Das Problem, das ich habe, ist, dass ich den String-Wert des Item-Tags nicht bekommen kann. Wenn ich name = attributes.getQName(i); verwende, gibt es den Namen, nicht den Wert des Attributs aus.Mit SAX Parser, erhalten Sie einen Attributs-Wert

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

Antwort

17

Verwendung

attributes.getValue(i); 

statt

attributes.getQName(i); 

denn als doc sagt:

getQName: eines qualifizierten Attribut Return (Präfix) Namen.

getValue: der Wert eines Attributs mit qualifizierter (Präfix) Namen nachschlagen.

siehe this Beispiel für das Erhalten Attributnamen und Wert

2

Versuchen attributes.getValue(i) Methode

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); 
}