android xml产生和解析
public static void writeToXml(Map<String, Object> map,Writer writer) throws Exception, IllegalStateException, IOException{
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag(null, "condition");
for(Entry<String, Object> entry:map.entrySet()){
serializer.startTag(null, entry.getKey());
serializer.text(entry.getValue().toString());
serializer.endTag(null, entry.getKey());
}
serializer.startTag(null, "condition");
serializer.endDocument();
writer.flush();
writer.close();
}
public static List<Map<String, Object>> getNurseInfo(String in, String format)
throws Exception {
InputStream inputstream = XjxPublicUnit.StringTOInputStream(in, format); return getNurseInfotomap(inputstream); } public static List<NurseInfo> getNurseInfo(InputStream xml)
throws Exception {
List<NurseInfo> myNurseInfos = null;
NurseInfo myNurseInfo = null; XmlPullParser pullParser = Xml.newPullParser();
pullParser.setInput(xml, "UTF-8"); // 为Pull解释器设置要解析的XML数据
int event = pullParser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT:
if (myNurseInfo == null) {
myNurseInfo = new NurseInfo();
}
myNurseInfos = new ArrayList<NurseInfo>();//初始化集合
break;
case XmlPullParser.START_TAG: if (myNurseInfo == null && "row".equals(pullParser.getName())) {
myNurseInfo = new NurseInfo();
} if ("jlid".equals(pullParser.getName())) {
myNurseInfo.setJlid(pullParser.nextText());
} if ("lsh".equals(pullParser.getName())) {
myNurseInfo.setLsh(pullParser.nextText());
} if ("rqsj".equals(pullParser.getName())) {
myNurseInfo.setRqsj(pullParser.nextText());
} if ("s".equals(pullParser.getName())) {
myNurseInfo.setS(pullParser.nextText());
} if ("f".equals(pullParser.getName())) {
myNurseInfo.setF(pullParser.nextText());
} if ("JLR".equals(pullParser.getName())) {
myNurseInfo.setJlr(pullParser.nextText());
} if ("bbreathingmachine".equals(pullParser.getName())) {
myNurseInfo.setBbreathingmachine(pullParser.nextText());
} if ("hx".equals(pullParser.getName())) {
myNurseInfo.setHx(pullParser.nextText());
}
if ("sz".equals(pullParser.getName())) {
myNurseInfo.setSz(pullParser.nextText());
}
if ("xybhd".equals(pullParser.getName())) {
myNurseInfo.setXybhd(pullParser.nextText());
}
if ("tk_y".equals(pullParser.getName())) {
myNurseInfo.setTk_y(pullParser.nextText());
} if ("tk_z".equals(pullParser.getName())) {
myNurseInfo.setTk_z(pullParser.nextText());
}
if ("dgfs_y".equals(pullParser.getName())) {
myNurseInfo.setDgfs_y(pullParser.nextText());
}
if ("dgfs_z".equals(pullParser.getName())) {
myNurseInfo.setDgfs_z(pullParser.nextText());
} if ("rl_mc".equals(pullParser.getName())) {
myNurseInfo.setRl_mc(pullParser.nextText());
}
if ("rllx".equals(pullParser.getName())) {
myNurseInfo.setRllx(pullParser.nextText());
}
if ("rl_l".equals(pullParser.getName())) {
myNurseInfo.setRl_l(pullParser.nextText());
} if ("cl_mc".equals(pullParser.getName())) {
myNurseInfo.setCl_mc(pullParser.nextText());
}
if ("rllx".equals(pullParser.getName())) {
myNurseInfo.setCllx(pullParser.nextText());
}
if ("cl_l".equals(pullParser.getName())) {
myNurseInfo.setCl_l(pullParser.nextText());
} if ("rank".equals(pullParser.getName())) {
myNurseInfo.setRank(pullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if ("row".equals(pullParser.getName())){
myNurseInfos.add(myNurseInfo);//将book添加到books集合
myNurseInfo = null;
}
}
event = pullParser.next();
} return myNurseInfos;
}
public static List<Map<String, Object>> getNurseInfotomap(InputStream inputStream) throws Exception {
List<Map<String, Object>> myNurseInfos = null;
Map<String, Object> myNurseInfo = null; XmlPullParser parser = Xml.newPullParser();
parser.setInput(inputStream, "UTF-8"); int event = parser.getEventType();//产生第一个事件 while(event!=XmlPullParser.END_DOCUMENT){
switch(event){
case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事件
myNurseInfos = new ArrayList<Map<String, Object>>();
break;
case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事件
if("row".equals(parser.getName())){//判断开始标签元素是否是book
myNurseInfo = new HashMap<String, Object>();
}
if(myNurseInfo!=null){
if (!("row".equals(parser.getName()))){//判断开始标签元素是否是jlid
myNurseInfo.put(parser.getName(),parser.nextText());
}
}
break;
case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事件
if("row".equals(parser.getName())){//判断结束标签元素是否是book
myNurseInfos.add(myNurseInfo);//将book添加到books集合
myNurseInfo = null;
}
break;
}
event = parser.next();//进入下一个元素并触发相应事件
}//end while
return myNurseInfos;
} package com.xjx.unit; import java.io.ByteArrayInputStream;
import java.io.InputStream; public class XjxPublicUnit { public static InputStream StringTOInputStream(String in,String strFormat) throws Exception{ ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes(strFormat));
return is;
}
}
android xml产生和解析的更多相关文章
- Android XML文档解析(一)——SAX解析
---------------------------------------------------------------------------------------------------- ...
- Android 使用pull,sax解析xml
pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory. ...
- android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 三: 把复杂对象转换成 xml
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 二: 把对象转换成xml
前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...
- android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件
简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstr ...
- Android网络之数据解析----SAX方式解析XML数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
随机推荐
- Windows Phone开发工具初体验【转载】
Windows Phone开发工具在MIX 2010上火热登场了.Windows Mobile开发者们压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬不一,有人对Si ...
- ios项目开发(天气预报项目):通过经纬度获取当前城市名称
1 . 在项目里加入� CoreLocation.framework 2 .在 .h 文件输入例如以下: 1.#import <CoreLocation/CLLocation.h> ...
- Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...
- mysql中删除表
有两种方式: 1.delete from table table_name; 2.truncate table table_name; 第一种中,清空表后,主键id会在原先的记录基础上继续增加,而第二 ...
- html5中viewport使用
html5中viewport使用 转载自:http://www.maoegg.com/the-usage-of-viewport-in-html5/ 用html5开发移动应用时往往会遇到手机的分辨率或 ...
- java 并发官方教程
http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html Concurrency Computer users t ...
- Cookie API
Cookie API All cookies created by the Nova framework are encrypted and signed with an authentication ...
- jsp 用application对象制作留言板
<%@ page contentType="text/html; charset=gb2312"%> <html> <body> <for ...
- Android_Handler
xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- php验证码制作
目标: 使用php生成验证码 成品: 逻辑代码: authcode.php <?php header("Content-type:image/png"); session_s ...