DocumentBuilderFactory找不到文件

时间:2011-08-29 06:10:10

标签: android

在发布这个问题之前,我已经搜索了所有地方以获得一些类似的问题,我找到了问题,但没有回答对我有效,我使用了getResources,这种方法也给了我一个错误,说明了Undefined Method,使用这个或上下文也dint工作,我只需要在Android应用程序中读取和写入xml,xml应该存储在我的应用程序的res文件夹或任何其他标准的文件夹中,现在我使用下面的代码,请帮我这个。非常感谢..Max

                DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();

                Document doc = docBuilder.parse (new File("savecredentials.xml"));

使用getResources没有帮助,如何在未定义时使用getResources,如果我使用上下文它不起作用,这个的任何简单解决方案。

1 个答案:

答案 0 :(得分:0)

您已写入new File("savecredentials.xml"),这意味着您正在从应用程序文件夹中阅读savecredentials.xml。您尚未设置res文件夹的路径。 你必须提到你正在阅读文件的路径。

例如,如果资产文件夹中有文件,则可以编写

    AssetManager mg = getResources().getAssets();
            InputStream myInput = null;
            try {
                myInput = mg.open("File name");
                if(myInput != null) {
                    System.out.println("File exists in assets");
                }
            } catch (IOException ex) {
                System.out.println("File not exists in assets");

            }

XmlPullParserFactory factory = null;
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = null;
xpp = factory.newPullParser();
InputStreamReader reader = new InputStreamReader(myInput);
xpp.setInput(reader);
int eventType = 0;
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
    if(eventType == XmlPullParser.START_TAG) {

    } else if(eventType == XmlPullParser.END_TAG) {

    } else if(eventType == XmlPullParser.TEXT) {
    }
    eventType = xpp.next();
}

此代码用于检查天气文件是否存在于资产中?

res文件夹

中读取

Click here