Android开发之使用pull解析XML文件

简介:

Android已经集成进了Pull解析器,所以无需添加任何jar文件。android系统本身使用到的各种xml文件,其内部也是采用Pull解析器进行解析的。 Pull解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。跟SAX不同的是, Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理。当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型节点的值。

pull解析xml步骤主要如下:

假设解析下列xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<persons>

       <person id=“18">

              <name>allen</name>

              <age>36</age>

       </person>

       <person id=“28">

              <name>james</name>

              <age>25</age>

       </person>

</persons>

1)获得pull解析器对象

XmlPullParser parser = Xml.newPullParser();

2)指定解析的文件和编码格式

parser.setInput(fis, "utf-8");

3)获得事件类型(获得各标签类型)

int eventType = parser.getEventType();

4)根据各标签信息进行必要数据的读取

while(eventType != XmlPullParser.END_DOCUMENT) {

//没有到结束标签

String tagName = parser.getName();      // 获得当前节点的名称

switch (eventType) {

        case XmlPullParser.START_TAG: // 当前等于开始节点<person>

                                   if("persons".equals(tagName)) {  // <persons>

                              //相关操作

                                   } else if("person".equals(tagName)) { // <person id="1">

                                   //相关操作

                                   } else if("name".equals(tagName)) { // <name>

                                          person.setName(parser.nextText());

                                   } else if("age".equals(tagName)) { // <age>

                                   //相关操作

                                   }

                                   break;

                            case XmlPullParser.END_TAG:       //读取结束 </persons>

                                   if("persons".equals(tagName)) {

                //相关操作

                                   }

                                   break;

                            default:

                                   break;

                            }

                  eventType = parser.next();// 下一个

              }


目录
相关文章
|
5天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM解析器是内置在多数浏览器中的工具,用于将XML转换为JavaScript可操作的对象。它允许遍历、访问和修改XML结构。浏览器通过XMLHttpRequest加载XML文档到DOM,如以下JS示例所示: ```markdown - 创建XMLHttpRequest对象 - 打开GET请求到&quot;books.xml&quot; - 发送请求 - 响应被转换为`responseXML`,成为DOM对象 ``` 这段代码展示了如何在不同浏览器间兼容地加载XML文档。
|
18天前
|
XML 存储 JSON
51. 【Android教程】JSON 数据解析
51. 【Android教程】JSON 数据解析
27 2
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器将XML转换为JavaScript对象,允许在浏览器中操作XML。浏览器通常内置XML解析器,通过XMLHttpRequest加载XML文档,如示例所示,创建HTTP请求获取&quot;books.xml&quot;,然后将响应解析为DOM对象,便于访问和修改。**
|
5天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器摘要:** XML解析器在浏览器中常内置,用于将XML转换为JavaScript对象,便于通过DOM API操作。加载XML文档如`books.xml`,使用XMLHttpRequest或ActiveXObject创建请求,打开连接,发送请求,然后将响应转换为DOM对象,如`xmlDoc=xhttp.responseXML`。
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器**将XML文件转化为JavaScript对象,允许在浏览器中操作XML。通过XMLHttpRequest加载文档,如`books.xml`,创建XMLHTTP对象,打开GET请求,发送后获取响应XML作为DOM对象。这在大多数内置XML解析器的浏览器中可用。
|
7天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM解析器是浏览器内置的功能,用于将XML转换为JavaScript对象以便操作。通过XMLHttpRequest对象,如`xhttp.open()`和`xhttp.send()`发送请求获取XML文件,然后`responseXML`属性将返回的XML转换为DOM,允许通过JavaScript遍历和修改XML结构。
|
7天前
|
XML Web App开发 JavaScript
XML DOM 解析器
**XML DOM解析器将XML转换为JavaScript对象,允许在浏览器中操作XML。
|
9天前
|
XML JavaScript 关系型数据库
Python XML 解析
Python XML 解析
|
6天前
|
SQL JSON 数据处理
实时计算 Flink版产品使用问题之把hdfs集群里的core-site.xml hdfs.xml两个文件放到flink/conf/目录下,启动集群说找不到hdfs,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
9天前
|
XML Java 数据库连接
idea 从mapper方法直接点进xml文件的解决方法
idea 从mapper方法直接点进xml文件的解决方法
14 2

推荐镜像

更多