0

我正在制作一个简单的 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);
    ...

它看起来真的很简单,但我无法让它工作。知道我做错了什么吗?

4

1 回答 1

2

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

查看。http://developer.android.com/reference/android/content/res/Resources.html

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

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

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

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

于 2013-05-05T14:27:47.167 回答