📅  最后修改于: 2023-12-03 15:29:22.456000             🧑  作者: Mango
Android-XML解析器是一个用于解析XML文件的工具,它能够将XML文件中的数据读取出来供程序使用。Android-XML解析器是Android平台中非常常用的一个解析工具。常见的XML解析工具包括SAX、DOM和Pull解析器,其中Pull解析器是Android-XML解析器默认使用的方式。
XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser = xmlPullParserFactory.newPullParser();
xmlPullParser.setInput(inputStream, "UTF-8");
while (xmlPullParser.getEventType() != XmlPullParser.END_DOCUMENT) {
switch (xmlPullParser.getEventType()) {
case XmlPullParser.START_DOCUMENT:
// 解析XML开始
break;
case XmlPullParser.START_TAG:
// 解析元素开始
break;
case XmlPullParser.TEXT:
// 解析元素值
break;
case XmlPullParser.END_TAG:
// 解析元素结束
break;
default:
break;
}
xmlPullParser.next();
}
例如,我们有一份如下的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1">
<name>Android进阶之光</name>
<author>李刚、余攀</author>
<publisher>电子工业出版社</publisher>
<price>59.00</price>
</book>
<book id="2">
<name>第一行代码:Android</name>
<author>郭霖</author>
<publisher>人民邮电出版社</publisher>
<price>78.00</price>
</book>
</books>
使用Pull解析器可以这样来读取XML文件的内容:
XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser = xmlPullParserFactory.newPullParser();
InputStream inputStream = context.getAssets().open("books.xml");
xmlPullParser.setInput(inputStream, "UTF-8");
int eventType = xmlPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
String tagName = xmlPullParser.getName();
if (tagName.equals("book")) {
String id = xmlPullParser.getAttributeValue(null, "id");
} else if (tagName.equals("name")) {
String name = xmlPullParser.nextText();
} else if (tagName.equals("author")) {
String author = xmlPullParser.nextText();
} else if (tagName.equals("publisher")) {
String publisher = xmlPullParser.nextText();
} else if (tagName.equals("price")) {
String price = xmlPullParser.nextText();
}
break;
case XmlPullParser.END_TAG:
break;
default:
break;
}
eventType = xmlPullParser.next();
}
inputStream.close();
Android-XML解析器是Android平台中非常常用的一个解析工具,其中Pull解析器是Android-XML解析器默认使用的方式。本文以Pull解析器为例,介绍了这个工具的使用方法,希望对大家有所帮助。