开发学院手机开发Android 开发 Android读写XML 阅读

Android读写XML

 2010-05-31 17:37:00 来源:WEB开发网   
核心提示:优点:不用事先调入整个文档,占用资源少,Android读写XML(2),尤其在嵌入式环境中,极力推荐采用SAX进行解析XML文档,然后获取根结点中所有子节点的列表(NodeList),然后使用再获取子节点列表中的需要读取的结点,缺点:不像DOM一样将文档长期驻留在内存,数据不是持久的

优点:不用事先调入整个文档,占用资源少。尤其在嵌入式环境中,极力推荐采用SAX进行解析XML文档。

缺点:不像DOM一样将文档长期驻留在内存,数据不是持久的,事件过后,如没有保存数据,那么数据就会丢失。

使用场合:机器性能有限,尤其是在嵌入式环境,如Android,极力推荐采用SAX进行解析XML文档。

大多数时间,使用 SAX 是比较安全的,并且 Android 提供了一种传统的 SAX 使用方法,以及一个便捷的 SAX 包装器。如果XML文档比较小,那么 DOM 可能是一种比较简单的方法。如果XML文档比较大,但只需要文档的一部分,则 XML Pull 解析器可能是更为有效的方法。最后对于编写 XML,Pull 解析器包也提供了一种便捷的方法,详细说明请阅读Android读写XML(下)——数据写入XML文档 。因此,无论我们的 XML 需求如何,Android 都能在一定程度上满足我们的需求。

下面我们详细介绍采用DOM的方法,读取XML文档的思路,这基本上与XML的结构是完全一样的。首先加载XML文档(Document),然后获取文档的根结点(Element),然后获取根结点中所有子节点的列表(NodeList),然后使用再获取子节点列表中的需要读取的结点。根据以上思路,简要写个读取XML文件的例子如下:

import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import android.content.Context; void ReadXML() { DocumentBuilderFactory docBuilderFactory = null; DocumentBuilder docBuilder = null; Document doc = null; try { docBuilderFactory = DocumentBuilderFactory.newInstance(); docBuilder = docBuilderFactory.newDocumentBuilder(); //xml file 放到 assets目录中的 doc = docBuilder.parse(context.getResources().getAssets().open(”weather.xml”)); //root element Element root = doc.getDocumentElement(); //Do something here //get a NodeList by tagname NodeList nodeList = root.getElementsByTagName(”tag”); for(int i =0;i< nodeList.getLength();i++) { Node nd = nodeList.item(i); //Read Node } } catch (IOException e) { } catch (SAXException e) { } catch

上一页  1 2 3 4 5 6  下一页

Tags:Android 读写 XML

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接