通常使用xStream工具. 将集合,数组,对象转成XML.

导入两个包:

    xpp3_min-1.1.4c.jar

    xstream-1.4.4.jar

自定义一个类

    

package com.baidu;

public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
} }

  测试类

package com.baidu;

import java.util.ArrayList;

import com.thoughtworks.xstream.XStream;

public class Demo {
public static void main(String[] args) {
User u=new User();
u.setId(11);
u.setName("风清扬");
User u1=new User();
u1.setId(12);
u1.setName("小师妹");
ArrayList<User> array=new ArrayList<User>();
array.add(u);
array.add(u1);
//创建XStream对象
XStream xs=new XStream();
          //使用XStream对象转换对象
String xml = xs.toXML(array);
          //输出转换的
System.out.println(xml);
}
}

  输出结果:

<list>
<com.baidu.User>//表示类的全路径
<id>11</id>//类的属性
<name>风清扬</name>//类的属性
</com.baidu.User>
<com.baidu.User>
<id>12</id>
<name>小师妹</name>
</com.baidu.User>
</list>

  让属性标签变为类标签的属性(内包含)

package com.baidu;

import java.util.ArrayList;

import com.thoughtworks.xstream.XStream;

public class Demo {
public static void main(String[] args) {
User u=new User();
u.setId(11);
u.setName("风清扬");
User u1=new User();
u1.setId(12);
u1.setName("小师妹");
ArrayList<User> array=new ArrayList<User>();
array.add(u);
array.add(u1);
//将集合转换为xml
XStream xs=new XStream();
//将类中的属性作为类的标签的内部属性
xs.useAttributeFor(User.class, "id");
xs.useAttributeFor(User.class,"name");
String xml = xs.toXML(array);
System.out.println(xml);
}
}

  输出结果:

<list>
<com.baidu.User id="11" name="风清扬"/>
<com.baidu.User id="12" name="小师妹"/>
</list>

  修改类的全路径为类名

package com.baidu;

import java.util.ArrayList;

import com.thoughtworks.xstream.XStream;

public class Demo {
public static void main(String[] args) {
User u=new User();
u.setId(11);
u.setName("风清扬");
User u1=new User();
u1.setId(12);
u1.setName("小师妹");
ArrayList<User> array=new ArrayList<User>();
array.add(u);
array.add(u1);
//将集合转换为xml
XStream xs=new XStream();
xs.useAttributeFor(User.class, "id");
xs.useAttributeFor(User.class,"name");
xs.alias("User", User.class);
String xml = xs.toXML(array);
System.out.println(xml);
}
}

  输出结果:

<list>
<User id="11" name="风清扬"/>
<User id="12" name="小师妹"/>
</list>

  使用jquery来解析xml(dom)

 `                 $.post("${pageContext.request.contextPath}/GetCityServlet", {"pid":pv},function(data) {
$("#city").html("<option>-请选择-</option>");
$(data).find("Cities").each(function(){
  /*
                    <Cities>
<id>18</id>
<cityid>140300</cityid>
<city>阳泉市</city>
<provinceid>140000</provinceid>
</Cities>
                   */
//alert($(this).html());
$("#city").append("<option value='"+$(this).find("cityid").text()+"'>"+ $(this).find("city").text() + "</option>");
});
});

  

               $.post("${pageContext.request.contextPath}/GetCityServlet", {"pid":pv},function(data) {
$("#city").html("<option>-请选择-</option>");
$(data).find("Cities").each(function(){
/* <Cities cityid="131100" city="衡水市">
<id>15</id>
<provinceid>130000</provinceid>
</Cities> */
//alert($(this).attr("city"));
$("#city").append("<option value='"+$(this).attr("cityid")+"'>"+ $(this).attr("city") + "</option>");
});
}); });

  

  

day29(对象转xml(使用java))的更多相关文章

  1. XStream轻松转换xml和java对象

    首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mv ...

  2. 通过JAXB完成Java对象与XML之间的转换

    Java对象转换XML的过程叫marshal. XML转换到Java对象的过程叫unmarshal. 一.Java对象转化为XML 这里省略getter和setter方法 通过标注@XMLRootEl ...

  3. java对象与XML相互转化

    起因 最近在公司做了一次webservice相关的任务,其中我最敢兴趣的就是webservice接受到XML对应的流以后是如何方便的转化成java对象,而java对象又是如何生成对应的XML的. 目的 ...

  4. Java对象表示方式2:XStream实现对对象的XML化

    上一篇文章讲到了使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持 ...

  5. JAVA对象和XML文档、原来他们之间还有这一出

    最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...

  6. 玩转Java对象和XML相互转换

    最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由 ...

  7. Java对象转xml报文和xml报文转Java对象帮助类

    import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...

  8. JAXB完毕XML与Java对象的互转

    这段时间都老忙了,甚至连周末全部人员都在赶产品的进度,想想连续上12天班,人都有点晕了! 到这会儿最终有点时间.所以准备和大家分享一下JAXB,会不会有人认为有点陌生呢?没事,这里跟大伙儿简单的描写叙 ...

  9. java对象与xml相互转换 ---- xstream

    XStream是一个Java对象和XML相互转换的工具,很好很强大.提供了所有的基础类型.数组.集合等类型直接转换的支持. XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用 ...

随机推荐

  1. C# Convert.ToInt32和int.Parse转换null和空字符串时的不同表现

    Convert.ToInt32最终调用的函数见下图: int.Parse调用的函数见下图: 具体的见https://www.cnblogs.com/leolis/p/3968943.html的博客,说 ...

  2. iconfont项目成员添加不进去的问题

    经别的网友提醒,发现是我用的chrome浏览器的问题,这顿折腾....解决方案:换一个浏览器试试.

  3. log4net引用了Mysql.Data.dll,但是就是不能写到mysql数据库的解决办法

    这两天遇到log4net写日志到mysql数据库中,有时候在A项目中可以,有时候B项目就有问题,有时候测试环境没问题,到正式部署环境又出问题,经过两天的煎熬,终于理清楚了其中的头绪. 1.配置现状 c ...

  4. java 与 或 非 异或 & | ~ ^

    1.与运算符 & 两个操作数中位,否则结果为0 2.或运算符 | 两个位,否则就为0 3.非运算符 ~ 如果位为,结果是,如果位为1,结果是0 4.异或运算符 ^ 两个操作数的位中,,不同则结 ...

  5. c# 线程启动while(true) 死循环,里边的return导致线程退出情况,查错

    写了一个线程 线程下启动了一个循环 while(true) { 里边有个判断 如果为空不操作, 有余这个线程是后加的,老程序里边因为有个return没关注,导致线程退出而不能不听的监控 } 线程启动一 ...

  6. 1.3 Java中的标识符和关键字

    1.标识符 含义:标识符用于给程序中的类.变量.方法命名的符号. 组成:数字(0-9).字母(a-z)(A-Z).下划线(_).美元符号$. 命名规则:1.数字不能够作为命名符号的开头 2.不能够使用 ...

  7. idea 高级调试技巧

    两年前写过一篇关于idea的高级用法,今天再来一篇关于调试方面的技巧讲解: 一.条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值. 参考上图,在断点的位置,右 ...

  8. VS2010工程结构及其瘦身策略

    VS2010工程结构: 我们以在VS2010上利用MFC创建的单文档应用程序HelloWorld的文件结构为例,简述VS2010应用程序工程中文件的组成结构. 1.解决方案相关文件 解决方案相关文件包 ...

  9. linux 软件编译问题汇总

    1.问题: fatal error: openssl/opensslv.h: No such file or directory 解决: sudo apt-get install libssl-dev ...

  10. Hadoop的本地库(Native Libraries)介绍

    Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作. 目 ...