С помощью SAX Parser получите значение атрибута

Я анализирую XML из Интернета с помощью Android. В приведенном ниже коде показан пример XML. У меня проблема: я не могу получить строковое значение тега элемента. Когда я использую name = attributes.getQName(i);, он выдает имя, а не значение атрибута.

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

Ответы

Ответ 1

использовать

attributes.getValue(i);

вместо

attributes.getQName(i);

потому что doc говорит:

getQName: вернуть имя с атрибутом (префикс).

getValue. Посмотрите значение атрибута с помощью квалифицированного (префиксного) имени.

см. этот пример для получения имени и значения атрибута

Ответ 2

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

Ответ 3

Попробуйте attributes.getValue(i) метод