Открыть XML-файл из res / xml в Android

Я создал приложение Java, которое открывает XML-файл, который выглядит примерно так:

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

И я могу открыть его, используя:

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");

Затем я могу просто создать узел, поместить объект в ListArray, а затем делать с объектами все, что захочу, просматривая 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);
// ...

Просто и понятно! Только сейчас в Android я не могу просто прочитать файл « res / xml / data.xml », потому что для « File (); » требуется String , а не целое число (id). Вот где я потерялся. Есть ли способ заставить " File (); " открыть файл, или это невозможно без использования SAXparser или XPP ? (и то и другое я действительно не могу понять, как бы сильно я ни старался.)
в Android я не могу просто прочитать файл « res / xml / data.xml », потому что « File (); » требует String , а не целое число (идентификатор). Вот где я потерялся. Есть ли способ заставить " File (); " открыть файл, или это невозможно без использования SAXparser или XPP ? (и то и другое я действительно не могу понять, как бы сильно я ни старался.)
в Android я не могу просто прочитать файл « res / xml / data.xml », потому что « File (); » требует String , а не целое число (идентификатор). Вот где я потерялся. Есть ли способ заставить " File (); " открыть файл, или это невозможно без использования SAXparser или XPP ? (и то и другое я действительно не могу понять, как бы сильно я ни старался.)
или это невозможно без использования SAXparser или XPP ? (и то и другое я действительно не могу понять, как бы сильно я ни старался.)
или это невозможно без использования SAXparser или XPP ? (и то и другое я действительно не могу понять, как бы сильно я ни старался.)
Если я буду вынужден использовать эти методы, может ли кто-нибудь показать мне какой-нибудь простой код, аналогичный моему примеру?

7
задан rekire 27 December 2012 в 07:26
поделиться