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. Delphi静态加载DLL和动态加载DLL示例

    下面以Delphi调用触摸屏动态库xtkutility.dll为例子,说明如何静态加载DLL和动态加载DLL. 直接上代码. 1.静态加载示例 unit Unit1; interface uses W ...

  2. C#_delegate和事件 - 如果金额小于0则触发事件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. 结合 category 工作原理分析 OC2.0 中的 runtime

    绝大多数 iOS 开发者在学习 runtime 时都阅读过 runtime.h 文件中的这段代码: struct objc_class { Class isa  OBJC_ISA_AVAILABILI ...

  4. 获取select值

    //Jquery中select的使用 //select获取当前选中的value值 $('#sel').change(function () { var depId = $(this).children ...

  5. 多边形节点编码python脚本

    # -*- coding: cp936 -*-#本脚以最左边.Y值最大的点为起始点按顺时针为多边形节点编码,生成一个包含记录编码值和多边形FID字段的点要素类 #注意:#1.本脚本作为arcgis脚本 ...

  6. 我终于理解了LISP『代码即数据|数据即代码』的含义

    以前我一直不能理解LISP里引用的作用,感觉引用和字符串没什么区别.比如:> (define (func)     'ok) > (func) 'ok 这里把引用ok当做了函数func的返 ...

  7. Centos 6.4 安装elasticsearch+kibana

    elasticsearch和kibanna的链接地址:https://www.elastic.co/downloads,我的环境里用的包为kibana-4.1.1-linux-x64.tar.gz和e ...

  8. JAXB - XML Schema Types, Defining Types for XML Elements Without Content

    Types for XML elements are constructed using xsd:complexType, even if they do not have content. The ...

  9. Sql的实际应用

    sql实际应用-递归查询   1.既然要谈到sql,数据库表是必须的   2.数据结构     3.获取某个节点的所有子节点     传统的写法(sql2000) 很麻烦,暂且就不写了     来看看 ...

  10. Windows Azure入门教学:使用Blob Storage

    对于.net开发人员,这是一个新的领域,但是并不困难.本文将会介绍如何使用Blob Storage.Blob Storage可以看做是云端的文件系统.与桌面操作系统上不同,我们是通过REST API来 ...