私の Android アプリは、Simple XMLを使用して巨大な XML ファイルを読み取ります。明らかに時間がかかります。実際、現時点では、要素のリストを 1 つ取得するだけで済みます。Simple XML が他のすべての要素を読み取らないようにする方法はありますか?
別のライブラリを使用したくありません。この種の高度なことが Simple XML で可能かどうかは疑問です。
助けてくれてありがとう。
編集
MH提案を使用すると、解析にはまだ 50 秒かかります...
XmlPullParserを使用してIlya Blokhの他のソリューションを試してみたいと思います。
XML ファイルの必要な部分は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
....
<ANIMALS>
<animal>
<name>Dog</name>
<color>white</color>
<color>black</color>
<color>brown</color>
</animal>
<animal>
<name>Cat</name>
<color>white</color>
<color>black</color>
<color>gray</color>
<color>red</color>
</animal>
...
</ANIMALS>
...
</ROOT>
このクラスにデータを入力したいと思います:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Animals {
/**
* Key: animal name, Value: animal colors
*/
private Map<String, List<String>> entries;
public Animals() {
entries = new HashMap<String, List<String>>();
}
public void addAnimal(String name, List<String> colors) {
entries.put(name, colors);
}
public List<String> getColors(String animalName) {
return entries.get(animalName);
}
}
リストと XmlPullParser を処理するにはどうすればよいですか? 私はパーサーの操作に慣れていません...
再度、感謝します