XmlPullParser

原创 2016年05月31日 20:51:37
public class MainActivity extends Activity {
private List<Book> l;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
XmlPullParser xpp = Xml.newPullParser();
try {
xpp.setInput(getAssets().open("books.xml"), "utf-8");
int event = xpp.getEventType();
String name = "";
Book b = null;
int i = 0;
boolean flag = true;
while (flag) {
switch (event) {
case XmlPullParser.START_DOCUMENT:
l = new ArrayList<Book>();
break;
case XmlPullParser.START_TAG:
name = xpp.getName();
if (name.equals("china")) {
i = 1;
}
if (name.equals("foreiner")) {
i = 2;
}
if (name.equals("book")) {
b = new Book();
if (i == 1) {
b.setCountry("china");
}
if (i == 2) {
b.setCountry("foreiner");
}
}
break;
case XmlPullParser.TEXT:
if (name.equals("price")) {
b.setPrice(xpp.getText());
} else if (name.equals("name")) {
b.setName(xpp.getText());
} else if (name.equals("author")) {
b.setAuthor(xpp.getText());
}
break;
case XmlPullParser.END_TAG:
name = xpp.getName();
if (name.equals("book")) {
l.add(b);
}
if (name.equals("china") || name.equals("foreiner")) {
i = 0;
}
name = "";
break;
case XmlPullParser.END_DOCUMENT:
flag = false;
break;
}
event = xpp.next();
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(l.toString());
Log.d("user", l.toString());
}
}
<?xml version="1.0" encoding="UTF-8"?>
<books>
<china>
<book>
<price>50</price>
<name>三国演义</name>
<author>罗贯中</author>
</book>
<book>
<price>60</price>
<name>红楼梦</name>
<author>曹雪芹</author>
</book>
<book>
<price>40</price>
<name>水浒传</name>
<author>施耐庵</author>
</book>
</china>
<foreiner>
<book>
<price>50</price>
<name>巴黎圣母院</name>
<author>雨果</author>
</book>
<book>
<price>60</price>
<name>母亲</name>
<author>高尔基</author>
</book>
<book>
<price>40</price>
<name>钢铁怎样炼成的</name>
<author>列夫</author>
</book>
</foreiner>
</books>

相关文章推荐

XMlPullParser解析网上资源xml

  • 2012年11月12日 23:02
  • 661KB
  • 下载

XmlPullParser工具

  • 2012年08月16日 13:33
  • 705KB
  • 下载

Android - XmlPullParser的简单应用

Android Developer里的资料:http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html 可参...
  • rpy789
  • rpy789
  • 2012年02月16日 16:15
  • 793

XmlPullParser解析Xml文件解析demo

  • 2017年03月15日 10:58
  • 25.51MB
  • 下载

bak 6.android xml解析 XmlPullParser的使用.

android xml 的解析. 1.普通型 a a a 解析代码. try{ xpp.setInput( new StringReader ( “xml string” ) ); X...

XmlPullParser.newInstance的相关jar

  • 2016年05月17日 15:54
  • 7KB
  • 下载

XmlPullParser解析技术基础

  • 2013年11月09日 15:34
  • 3KB
  • 下载

Android 中 XmlPullParser 读写 XML 的方法

http://www.xmlpull.org/ XmlPullParser 是 Android 内置的 XML 解析器,运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,...
  • cool222
  • cool222
  • 2012年07月15日 16:57
  • 2650

XmlPullParser解析xml文件

现在介绍我们的Pull解析的使用,知识点,理解以及它的缺点和优点Android并未提供对Java StAX API的支持。但是,Android附带了一个pull解析器,其工作方式类似于StAX。它允许...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XmlPullParser
举报原因:
原因补充:

(最多只允许输入30个字)