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>

Android 中 XmlPullParser 读写 XML 的方法

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

Android学习笔记(三八):资源resource(上)、XML解析(XmlPullParser)

resource是java源代码之外的静态信息。例如layout。resource作为文件存放在res/目录下面,除了res/raw/外,Android会自动解析,例如layout文件,我们不需要自己...
  • flowingflying
  • flowingflying
  • 2011年07月25日 10:47
  • 19873

android xml解析XmlPullParser的使用

xml相关参考  xml规范:http://www.w3.org/TR/REC-xml/  Xerces-J sax解析器的一篇教程:http://terpconnect.umd.edu/~zha...
  • ChaoY1116
  • ChaoY1116
  • 2015年04月23日 17:34
  • 2244

xmlpullparser用法体会

结合http://www.2cto.com/kf/201112/112873.html和自己的理解,对xmlpullparser用法体会 Pull解析方法给应用程序完全的控制文档该怎么样被解析。An...
  • u011732448
  • u011732448
  • 2015年11月09日 20:57
  • 2124

使用XmlPullParser解析XML

在XML解析和使用原始XML资源中都涉及过对XML的解析,之前使用的是DOM4J和XmlResourceParser 来解析的。本文中将使用XmlPullParser来解析,分别解析不同复杂度的tes...
  • u010142437
  • u010142437
  • 2014年02月28日 14:05
  • 17334

android使用XmlPullParser来解析XML文件

解析以下的一个XML: 77f265bb46de068e78f35afbadec62af30 119522459334369527955xtaJR3436952795005xtaJR马艳丽http:...
  • baidu_nod
  • baidu_nod
  • 2014年07月29日 06:50
  • 1476

andoird Xml解析XmlPullParser 的使用

1、基本原理: 常用的有: XmlPullParser.END_DOCUMENT XmlPullParser.START_DOCUMENT XmlPullParser.START_TAG X...
  • Zhangxichao100
  • Zhangxichao100
  • 2016年07月12日 21:32
  • 1439

xmlPullParser用法

原文链接:http://blog.csdn.net/chaoy1116/article/details/45224467 XML文件       xmlns:yd="http://www....
  • linghaidong
  • linghaidong
  • 2017年06月16日 16:36
  • 555

使用XmlPullParser把xml文件转换成java bean对象

要转换的.xml文件 找出与所给拼音相对应的汉字。 chēn许 称 茫 涓 烁 称 给下列拼音选出正确的汉字。 chēn 称 贯 脉 怨 称 ...
  • liu943367080
  • liu943367080
  • 2017年03月22日 16:52
  • 133

Androidd-XmlPullParser解析XML

在上一篇文章Android-HttpClient连接网络获取数据中,简单使用了HttpURLConnection来获取网络数据,然而并没有对获取的数据做任何操作,比如解析从网络得到的数据。这篇文章,就...
  • u013656135
  • u013656135
  • 2015年11月14日 22:48
  • 1695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XmlPullParser
举报原因:
原因补充:

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