解析android中的xml文件(带有DOM解析器)

时间:2011-04-02 12:18:01

标签: android

我有一个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 Parser,但是有了执行XPATH查询的问题,为此我更改了解析器

2 个答案:

答案 0 :(得分:2)

getResources().openRawResource(R.raw.myxml);

使用此功能,它适用于我的代码,但我将其用于InputStream。也许它也适用于您的代码。

答案 1 :(得分:0)

  

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

进行调整

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

  

我在此行中有错误文档doc = mcontext.getResources(R.raw.myxml);在mcontext中,错误信息是mcontext无法解析

这是因为您没有定义mcontext变量或数据成员。在尝试使用Java for Android开发之前,Java的新手应该学习Java。