web-dev-qa-db-ja.com

SAXパーサーを使用して、属性の値を取得する

Androidを使用してWebから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>
15
carsey88

使用する

attributes.getValue(i);

の代わりに

attributes.getQName(i);

doc が言うように:

getQName属性の修飾(接頭辞付き)名を返します。

getValue属性の値を修飾(接頭辞付き)名で検索します。

属性名と値を取得するための this の例を参照してください

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

attributes.getValue(i)メソッドを試す

2