我创建了一个 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不是integer(id)。这就是我迷路的地方。有什么方法可以让“ File();”打开文件,还是不使用SAXparseror就不可能XPP?(无论我多么努力,我都真的无法理解。)
如果我被迫使用这些方法,有人可以向我展示一些类似于我的示例的简单代码吗?