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产生和解析的更多相关文章

  1. Android XML文档解析(一)——SAX解析

    ---------------------------------------------------------------------------------------------------- ...

  2. Android 使用pull,sax解析xml

    pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory. ...

  3. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  4. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  5. android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  6. android XMl 解析神奇xstream 三: 把复杂对象转换成 xml

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  7. android XMl 解析神奇xstream 二: 把对象转换成xml

    前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...

  8. android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

    简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstr ...

  9. Android网络之数据解析----SAX方式解析XML数据

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

随机推荐

  1. [Node.js] Using npm link to use node modules that are "in progress"

    It is some times convenient, even necessary, to make use of a module that you are working on before ...

  2. 实现微信文章页面 http://mp.weixin.qq.com/s?__biz=MjM5MDI3OTAwMg==&amp;mid=200337417&amp;idx=1&amp;sn=5959ed1d722c7da66b

    首先发了一篇文章,在微信后台.复制文章链接管理员 保存到数据库 $notice_list = $db->getAll(" SELECT `title`,`file_url`,`arti ...

  3. 数据库性能测试---前阿里数据库团队资深DBA杨奇龙

    杨奇龙 前阿里数据库团队资深DBA 主要负责淘宝业务线,经历多次11.11,有海量业务访问DB架构设计经验. 目前就职于有赞科技DBA,负责数据库运维工作,熟悉MySQL 性能优化,故障诊断,性能压测 ...

  4. Linux MySQL-Workbench安装

    yum install pcre-devel libglade2-devel gtkmm24-devel libgnome-devel lua-devel libzip-devel mysql-dev ...

  5. NSURLSession、NSURLConnection

    NSURLSesstion GET方法 block回调方法NSString * urlStr = @"http://192.168.1.247:8100/stream?cname=cha_2 ...

  6. Linux下librdkafka客户端的编译运行

    Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...

  7. [转]如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误

    本文转自:http://www.cnblogs.com/yyangblog/archive/2011/01/07/1929657.html 问题概述: 在导入一个app后提示如下错误: “Error ...

  8. linux commond

    1  vi /etc/sysconfig/network-scripts/ifcfg-eth0     2  ifconfig    3  ping 172.22.14.59    4  ping 1 ...

  9. iOS开发--Swift RAC响应式编程

    时间不是很充足, 先少说点, RAC的好处是响应式编程, 不需要自己去设置代理委托, target, 而是主要以信息流(signal), block为主, 看到这里激动吧, 它可以帮你监听你的事件, ...

  10. Spark与Hadoop计算模型的比较分析

    http://tech.it168.com/a2012/0401/1333/000001333287.shtml 最近很多人都在讨论Spark这个貌似通用的分布式计算模型,国内很多机器学习相关工作者都 ...