android / java:无法解析现有的XML文件? (苹果电脑)

时间:2013-05-05 13:58:15

标签: java android xml parsing

我正在制作一个简单的Android应用程序,我在解析一个简单的XML文件时遇到了问题。 即使文件存在,我也得到FileNotFoundException,我拥有它的所有权限。我试图以所有可能的方式修改路径,但我总是抛出这个异常。

这是我的代码 在主要活动中:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Engine engine = new Engine();
engine.parse();

}

在引擎类中:

 public void parse() {
            try {

                File fXmlFile = new File("/res/XML/users.xml");
                if (!fXmlFile.exists()) {
                    throw new FileNotFoundException("Failed to find file: " + 
                            fXmlFile.getAbsolutePath());
                    }
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
                    .newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse(fXmlFile);
    ...

它看起来很简单,但我无法让它发挥作用。对我做错了什么的想法?

1 个答案:

答案 0 :(得分:2)

为了从资源中获取文件,您可以使用两个调用之一。

退房。 http://developer.android.com/reference/android/content/res/Resources.html

您可以使用context.getResources().openRawResource(R.xml.users)

这将返回一个输入流,允许您读取文件。

或者,您可以致电context.getResources().getXml(R.xml.users)

这将返回一个XML资源解析器,这是一个允许您解析xml的pullParser。