【问题标题】:parse an xml file (with DOM parser) in android在android中解析一个xml文件(使用DOM解析器)
【发布时间】:2011-04-02 12:18:01
【问题描述】:

我有一个 XML 文件 /res/raw/myxml.xml

我想用 DOM Parser 来解析它

我使用了这个documentation,但我的问题是如何在本地读取这个 XML 文件

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = mcontext.getResources(R.raw.myxml);
        doc.getDocumentElement().normalize();

我在 mcontext 中的这一行 Document doc = mcontext.getResources(R.raw.myxml); 中有一个错误,错误消息是 mcontext cannot be resolved

我想用 DOM 而不是 SAX 来解析这个文档

我尝试了 SAX 解析器,但我在执行 XPATH 查询时遇到了问题,为此我更改了解析器

【问题讨论】:

  • 查看错误消息的文本会很有帮助。
  • 错误信息是mcontext cannot be resolved
  • 感谢您提供此信息
  • 也谢谢你。到目前为止,您在 StackOverflow 上做了 29 个问题,大部分都得到了答案,但您没有选择任何答案作为解决方案。如果您选择了正确的答案,您会激励程序员回答您的问题,因为这些人将获得可用于 e 的积分。 G。推高自己的问题。见这里:stackoverflow.com/faq

标签: android


【解决方案1】:
getResources().openRawResource(R.raw.myxml);

使用它,它适用于我的代码,但我将它与 InputStream 一起使用。也许它也适用于您的代码。

【讨论】:

    【解决方案2】:

    我有一个 XML 文件 /res/raw/myxml.xml。我想用 DOM Parser 来解析它

    为什么?将 XML 放入 res/xml/ 并通过 getXml()Resources 对象上获取它。对于已编译的 XML 资源,这将比 SAX 快大约 10 倍,并且可能比 DOM 快 30-40 倍。这将运行得更快并消耗更少的电池寿命。 Here is a sample project 演示了这一点。

    我在这一行中有一个错误 Document doc = mcontext.getResources(R.raw.myxml);在 mcontext 中,错误信息是 mcontext cannot be resolved

    这是因为您没有定义mcontext 变量或数据成员。 Java 新手应先学习 Java,然后再尝试使用 Java for Android 进行开发。

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 2013-01-31
      • 2013-07-18
      • 1970-01-01
      相关资源
      最近更新 更多