使用SAX解析器,获得一个属性的值[英] With SAX Parser, get an attribute's value

问题描述

我正在使用Android从Web解析XML.下面的代码显示了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>

推荐答案

使用

attributes.getValue(i);

而不是

attributes.getQName(i);

因为 doc 说:

getqname :返回属性的合格(前缀)名称.

getValue :通过限定(前缀)名称来查找属性的值.

这个获取属性名称和值的示例

其他推荐答案

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

其他推荐答案

try attributes.getValue(i)方法

本文地址:https://www.itbaoku.cn/post/978730.html