DOM解析在一个Activity中工作,但在另一个Activity中不能使用相同的代码吗?

时间:2011-02-03 13:21:37

标签: java android xml parsing dom

我不明白。

我有两个活动,我解析XML文件数据位于我的应用程序的私有数据目录中。

我使用此方法来解析我的XML文件:

File file = new File(getFilesDir() + "/autopech.xml");
        if (file.exists() == true) {
            DocumentBuilder builder2 = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            Document doc2 = builder2.parse(new FileInputStream(file));
            NodeList nl2 = doc2.getElementsByTagName("verzekeraar");
            for (int i = 0; i < nl2.getLength(); i++) {
                Node node = nl2.item(i);
                Bank bnk = new Bank();
                bnk.setNaam(Xml.innerHtml(Xml.getChildByTagName(node, "naam")));
                bnk.setTel(Xml.innerHtml(Xml.getChildByTagName(node, "tel")));

                lijst.add(bnk);
            }
        }

此方法适用于1个活动,但会向我发送02-03 14:18:10.047: WARN/System.err(8221): org.xml.sax.SAXParseException: Unexpected end of document 在这一行:Document doc2 = builder2.parse(new FileInputStream(file));

我真的不明白。它也是如此。

1 个答案:

答案 0 :(得分:0)

这是因为我在另一种方法中使用了解析。我用它自己的方法分离了这个过程并且它有效。