xml知识补充:
在xml文件中,<?xml version= ....?> 称为 start document ,即xml起始位置,最末尾为 end document ,即为xml结束,每一个<>都是一个节点,称之为tag, <person>为starttag,而</person>为endtag 每个节点都可以有属性,<person id="1">,则id为attribute name,而1 为attribute value 节点也可以包含内容, <name>Tom</name>, Tom就是内容,即text
pull解析:就是对xml文件的逐行扫描,pull解析器会将文件内容拆分为char[],逐字符读取,在调用其方法时,以每个节点为一次完整的读取来确定如恶化完成具体的解析工作
PULL一共有5种事件类型:
* START_DOCUMENT:文档的开始,解析器尚未读取任何输入。
* START_TAG:开始标签的解析。
* TEXT:标签内元素的内容解析。
* END_TAG:结束标签的解析。
* END_DOCUMENT:文档的结束。
主要用的是4个,他们与XML文件相应内容是这么对应的(他们在XML文件中的位置是这样)
简单总结就是:
- 文档的开头和结束分别有文档开始和文档结束事件
- 文档中的每个节点,无论是根节点还是叶子节点,都在节点开始和节点结束的地方有事件
具体使用的建议:
- 文档开始和文档结束事件是有固定位置的,你只要在这个位置做你要做的事情就好了,比如初始化一些资源
- 节点开始和节点结束的事件在很多位置都可能发生,为了精确控制,你可以使用【获取他们的节点名称(name)进行判断】这一方法
代码:
data.xml,在assets目录下
<span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<objects>
<students>
<student id="2222" type="23">
<name>王大</name>
<sex>男</sex>
<age>12</age>
<grade>3</grade>
</student>
</students>
<teachers>
<teacher id="110" type="22">
<name>张老师</name>
<sex>男</sex>
<age>12</age>
<grade>3</grade>
</teacher>
</teachers>
</objects></span>