PULL解析
> 为解决SAX的一些局限(不能手动控制解析结束),出现pull解析
> 使用pull解析需要导入两个jar包:
kxml2-2.3.0.jar
xmlpull_1_0_5.jar
> 核心类:XmlPullParserFactory XmlPullParser
> 步骤:
//获取工厂类实例
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//获取解析器类实例
XmlPullParser parser = factory.newPullParser();
//读写xml文档
parser.setInput(new FileReader("stu.xml"));
> Pull解析的一切操作,都是通过XmlPullParser对象进行的。
XmlPullParser方法:
int next() --> 向下解析一个节点
int getEventType() --> 获取当前的事件类型
String getName() --> 获取当前的标签名
String getText() --> 获取当前的文本内容
String nextText() --> 获取下一个节点的文本内容
String getAttribute(命名空间,属性名) --> 获取当前元素的指定属性
int nextTag() --> 直接读下一个标签
XmlPullParser常量:
1.START_DOCUMENT = 0
2.END_DOCUMENT = 1
3.START_TAG = 2
4.END_TAG = 3
5.TEXT = 4
- 可根据常量来判断当前的事件类型
> 为解决SAX的一些局限(不能手动控制解析结束),出现pull解析
> 使用pull解析需要导入两个jar包:
kxml2-2.3.0.jar
xmlpull_1_0_5.jar
> 核心类:XmlPullParserFactory XmlPullParser
> 步骤:
//获取工厂类实例
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//获取解析器类实例
XmlPullParser parser = factory.newPullParser();
//读写xml文档
parser.setInput(new FileReader("stu.xml"));
> Pull解析的一切操作,都是通过XmlPullParser对象进行的。
XmlPullParser方法:
int next() --> 向下解析一个节点
int getEventType() --> 获取当前的事件类型
String getName() --> 获取当前的标签名
String getText() --> 获取当前的文本内容
String nextText() --> 获取下一个节点的文本内容
String getAttribute(命名空间,属性名) --> 获取当前元素的指定属性
int nextTag() --> 直接读下一个标签
XmlPullParser常量:
1.START_DOCUMENT = 0
2.END_DOCUMENT = 1
3.START_TAG = 2
4.END_TAG = 3
5.TEXT = 4
- 可根据常量来判断当前的事件类型