使用SAX Parser,获取属性的值

时间:2012-04-20 08:13:32

标签: java android xml saxparser xml-attribute

我正在使用Android从网络解析XML。下面的代码显示了XML的示例。我遇到的问题是我无法获取item标签的字符串值。当我使用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>

3 个答案:

答案 0 :(得分:17)

使用

attributes.getValue(i);

而不是

attributes.getQName(i);

因为doc说:

getQName 返回属性的限定(加前缀)名称。

getValue 通过限定(加前缀)名称查找属性的值。

请参阅this示例获取属性名称和值

答案 1 :(得分: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);
}

答案 2 :(得分:2)

尝试attributes.getValue(i)方法