gpt4 book ai didi

android - 在 Android 中解析 XML

转载 作者:行者123 更新时间:2023-11-29 00:45:51 25 4
gpt4 key购买 nike

在非 Android java 中,我曾经使用:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();

File file = new File("res/xml/xml_sample.xml");
Document document = builder.parse(file);

现在在 Android 中,xml 似乎进入了 R.xml.xml_parse,至少它被定义到 R 中。 java 文件。但是,我似乎无法访问该路径以将其用作 File constructor 参数。

我见过多种解决方案,涉及使用 getResources(),如下所示:

http://blog.dimond.de/?p=35

但是,由于这段代码在一个独立的类中,它不是Activity,所以它不起作用。

感谢任何帮助。

最佳答案

我认为其他答案忽略了您想在非 Android 特定代码中使用此 XML(在 DOM 中)。

如果你把XML放在res/xml下,你只能在上面使用XML pull解析器,不能使用DOM解析器。通常这就是您想要的,而且效率更高,因为大部分实际解析工作是在 .apk 构建时完成的;但如果您需要使用 DOM 解析器,请将 XML 文件放在 res/raw 中。您可以像这样从原始资源中获取 InputStream:

InputStream is = getResources().openRawResource(R.raw.hello)

并将输入流(而不是任何类型的文件或路径)传递给 DOM 解析器。

您的另一个选择是使用拉式解析器事件来构建 DOM 对象,然后使用它。

关于android - 在 Android 中解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com