在android中xml的解析也是比较方便的 因为android也集成了一些常用的xml解析方法,
如:XmlPull
public class PullPersonService {
/**
* 使用pull解析器生成xml文件
*
* @param persons
* @param writer
* @return
*/
public static String writeXML(List<Person> persons, Writer writer){
XmlSerializer serializer = Xml.newSerializer();
try {
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
//第一个参数为命名空间,如果不使用命名空间,可以设置为null
serializer.startTag("", "persons");
for (Person person : persons){
serializer.startTag("", "person");
serializer.attribute("", "id", person.getId().toString());
serializer.startTag("", "name");
serializer.text(person.getName());
serializer.endTag("", "name");
serializer.startTag("", "age");
serializer.text(person.getAge().toString());
serializer.endTag("", "age");
serializer.endTag("", "person");
}
serializer.endTag("", "persons");
serializer.endDocument();
} catch (Exception e) {
e.printStackTrace();
}
return writer.toString();
}
/**
* 使用pull解析器解析xml文件
*
* @param inStream
* @return
* @throws Exception
*/
public static List<Person> readXML(InputStream inStream) throws Exception {
XmlPullParser parser = Xml.newPullParser();
parser.setInput(inStream, "UTF-8");
int eventType = parser.getEventType();
Person currentPerson = null;
List<Person> persons = null;
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
persons = new ArrayList<Person>();
break;
case XmlPullParser.START_TAG:// 开始元素事件
String name = parser.getName();
if (name.equalsIgnoreCase("person")) {
currentPerson = new Person();
currentPerson.setId(new Integer(parser.getAttributeValue(null, "id")));
} else if (currentPerson != null) {
if (name.equalsIgnoreCase("name")) {
currentPerson.setName(parser.nextText());// 如果后面是Text元素,即返回它的值
} else if (name.equalsIgnoreCase("age")) {
currentPerson.setAge(new Short(parser.nextText()));
}
}
break;
case XmlPullParser.END_TAG:// 结束元素事件
if (parser.getName().equalsIgnoreCase("person")&& currentPerson != null) {
persons.add(currentPerson);
currentPerson = null;
}
break;
}
eventType = parser.next();
}
inStream.close();
return persons;
}
}
student.xml 代码贴不了 郁闷
分享到:
相关推荐
本项目主要关注的是XML的创建和使用Pull解析器来解析XML,这是Android系统中处理XML数据的一种高效方法。接下来,我们将详细讨论这两个知识点。 首先,XML(Extensible Markup Language)是一种用于标记数据的语言...
Android SDK提供了`org.xmlpull.v1.XmlPullParser`接口,用于实现XML Pull解析。这个接口定义了一系列的方法,如`next()`, `getName()`, `getEventType()`等,允许开发者顺序地遍历XML文档的各个节点。 **使用步骤*...
本压缩包文件"安卓Android源码——比较通用的xml解析方法.zip"可能包含了一些关于如何在Android系统中解析XML的通用方法和技术。以下是关于Android XML解析的一些关键知识点: 1. **DOM解析**: - DOM(Document ...
以上就是关于“xml解析+kxml2+xmlpull”的主要知识点,包括XML解析方式、KXML2解析库、XML Pull解析的原理及其实现,以及如何在实际项目中结合使用KXML2进行XML文档的解析。理解并掌握这些内容,将有助于你在处理XML...
XMLPull是Java中的一种轻量级、高性能的XML解析技术,它主要用于处理XML文档。XMLPull的名字来源于“XML Pull Parsing”,意为“拉取式XML解析”。这种解析方式与SAX(Simple API for XML)和DOM(Document Object ...
在处理XML文件时,有多种解析方式,其中XMLPull解析是一种轻量级、高效的解析方法,适用于资源有限的环境,如移动设备。XMLPull解析器允许应用程序以拉取(pull)的方式逐个读取XML元素,而不是等待整个文档加载完毕...
总之,XMLPull解析是Android开发中处理XML数据的一种高效方法。通过掌握其核心概念和API,开发者可以灵活地解析和构建XML文档,同时减少对内存资源的消耗。在实践中,不断调试和优化代码,能够进一步提升解析效率,...
Android提供了`org.xmlpull.v1.XmlPullParser`接口来实现PULL解析。开发者需要通过注册事件监听,如开始元素、结束元素等,来处理XML。`DomXmlOperate`中的代码可能演示了如何创建`XmlPullParser`实例,以及如何在...
3. Pull解析器:Android提供了一个基于SAX的轻量级解析器——Pull解析器。它允许开发者通过迭代的方式解析XML,无需等待整个文件加载完成,提高了效率。 二、Android中的XML解析库 1. Android自带的XmlPullParser...
本文将深入探讨如何在Android中使用Pull解析器解析XML文件。 一、XML Pull解析器简介 XML Pull解析器(XML Pull API)是一种基于事件驱动的解析模型,它不需预先加载整个XML文档,而是逐行读取,当遇到特定的XML...
本资源“Android应用源码之比较通用的XML解析方法.zip”包含了关于在Android平台上进行XML解析的一些通用方法和实践。以下是关于这个主题的详细讲解。 1. DOM解析器:Document Object Model(DOM)解析器是Android...
Android的`org.xmlpull.v1.XmlPullParser`接口是Pull解析的核心,它提供了一系列的方法来读取和解析XML文档。使用步骤如下: 1. **获取解析器**:首先,需要通过`XmlPullParserFactory`工厂类创建一个`...
本压缩包“Android代码-比较通用的xml解析方法.rar”提供了一些通用的XML解析方法,这些方法对于理解和处理XML数据至关重要。下面将详细介绍XML解析在Android中的应用及其常见方法。 1. DOM解析器(Document Object...
除了这些解析方式,Android还提供了`org.json`库用于解析JSON数据,以及`org.xmlpull.v1.XmlSerializer`用于生成XML。XML数据在网络通信中通常与HTTP协议结合,通过`java.net.HttpURLConnection`或`android.util....
本篇将深入探讨Android中的XML解析,包括DOM解析、SAX解析和Pull解析,以及如何生成XML文件。 1. DOM解析: DOM(Document Object Model)是一种将XML文档转化为树形结构的方法,允许开发者通过节点遍历和操作XML...
老罗的Android视频教程深入浅出地讲解了如何在Android平台上解析XML文件,这对于开发者来说是非常重要的技能。以下是对这个主题的详细解释。 1. **XML基本概念** XML是一种自描述的语言,其结构清晰,易于机器和...
XMLPull解析XML是一种轻量级、高效的处理XML文档的方式,尤其在资源有限的移动设备如Android平台上尤为适用。它的全称是XML Pull Parser,是一种基于事件驱动的解析模型,允许开发者顺序读取XML文档,而无需构建整个...
1. **Android XML解析库**:Android SDK提供了内置的XML解析库,包括`javax.xml.parsers`和`org.w3c.dom`包,以及针对Android优化的`org.xmlpull.v1.XmlPullParser`接口。`XmlPullParser`是Android推荐的XML解析方式...
XMLPull是轻量级的API,用于解析XML文档,它允许开发者以事件驱动的方式处理XML流,而无需提前加载整个文档到内存中。 XStream的核心功能在于它的“marshalling”和“unmarshalling”能力。Marshalling是将Java对象...