Öffnen Sie die XML-Datei aus dem res/xml in Android

Erstellte ich eine Java-Anwendung, die eine xml-Datei öffnen, dass wie folgt aussieht:

<AnimalTree>
  <animal>
    <mammal>canine</mammal>
    <color>blue</color>
  </animal>
  <!-- ... -->
</AnimalTree>

Und ich kann öffnen Sie es mit:

File fXmlFile = getResources.getXml("res/xml/data.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList animalNodes = doc.getElementsByTagName("animal");

Dann kann ich Sie einfach erstellen Sie einen Knoten, dann schieben Sie das Objekt in ein ListArray, dann tun, was ich will, mit dem Objekte so, wie ich eine Schleife durch die ListArray.

for (int temp = 0; temp < animalNodes.getLength(); temp++) {
Node nNode = animalNodes.item(temp);     
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
question thisAnimal = new animal();
thisAnimal.mammal = getTagValue("mammal",eElement);
//...

Schlicht und einfach! Jetzt nur noch, bei Android kann ich nicht einfach Lesen Sie die Datei "res/xml/data.xml", weil "File();" erfordert eine String keine integer (id). Dies ist, wo ich bin verloren. Gibt es eine Möglichkeit, die ich machen kann "File();" öffnen Sie die Datei, oder ist dies unmöglich, ohne die Verwendung SAXparser oder XPP? (beide von denen ich wirklich nicht verstehen kann, egal wie sehr ich es versuchen.)

Wenn ich gezwungen bin, diese zu benutzen, Methoden, kann mir jemand zeigen einige einfache code Analog zu meinem Beispiel?

InformationsquelleAutor jeremy | 2010-12-01
Schreibe einen Kommentar