1

私は初心者なので、私の質問はかなりばかげているかもしれません...

とにかく、私はSAXを使用してXMLファイルを解析しており、アイテムを正しくループして、その内容をログに出力できます。ただし、このパーサーが多次元の連想配列を返す必要があります。この配列を繰り返し処理して、SQLiteデータベースを更新するために使用できます...

質問: そのようなものはAndroidに存在しますか?代わりに他のデータ型を使用する必要がありますか?それはどのように行われますか?

パーサーのコードをいくつか含めます(endElementメソッドはログに出力を行います。これまでのところ、アイテムごとに1つの要素がありますが、変更されるため、多次元が必要になります)。

private boolean in_image = false;
private boolean in_homeimage = false;
StringBuilder sb;

@Override
public void characters(char[] ch, int start, int length)
        throws SAXException {

        for (int i=start; i<start+length; i++) {
            sb.append(ch[i]);
        }

    //super.characters(ch, start, length);
}

@Override
public void endElement(String uri, String localName, String qName)
        throws SAXException {
    if( localName.equals("image") && this.in_homeimage ){
        this.in_homeimage = false;
        Log.i("Extra", "Found homeimage: " + sb);
    }
    else if( localName.equals("image") ){
        this.in_image = false;
        Log.i("Extra", "Found image: " + sb);
    }

    //super.endElement(uri, localName, qName);
}

@Override
public void startElement(String uri, String localName, String qName,
        Attributes attributes) throws SAXException {

    sb = new StringBuilder();

    if( localName.equals("image") && attributes.getValue("name") == "home" )
        this.in_homeimage = true;
    else if( localName.equals("image") )
        this.in_image = true;

    //super.startElement(uri, localName, qName, attributes);
}

前もって感謝します

4

0 に答える 0