私は初心者なので、私の質問はかなりばかげているかもしれません...
とにかく、私は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);
}
前もって感謝します