day29(对象转xml(使用java))
通常使用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))的更多相关文章
- XStream轻松转换xml和java对象
首先引入所需的jar: xstream-1.4.9.xpp3_min-1.1.4c.dom4j-1.6.1, 或用maven管理jar包时在pom.xml中添加: <!-- https://mv ...
- 通过JAXB完成Java对象与XML之间的转换
Java对象转换XML的过程叫marshal. XML转换到Java对象的过程叫unmarshal. 一.Java对象转化为XML 这里省略getter和setter方法 通过标注@XMLRootEl ...
- java对象与XML相互转化
起因 最近在公司做了一次webservice相关的任务,其中我最敢兴趣的就是webservice接受到XML对应的流以后是如何方便的转化成java对象,而java对象又是如何生成对应的XML的. 目的 ...
- Java对象表示方式2:XStream实现对对象的XML化
上一篇文章讲到了使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持 ...
- JAVA对象和XML文档、原来他们之间还有这一出
最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...
- 玩转Java对象和XML相互转换
最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由 ...
- Java对象转xml报文和xml报文转Java对象帮助类
import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...
- JAXB完毕XML与Java对象的互转
这段时间都老忙了,甚至连周末全部人员都在赶产品的进度,想想连续上12天班,人都有点晕了! 到这会儿最终有点时间.所以准备和大家分享一下JAXB,会不会有人认为有点陌生呢?没事,这里跟大伙儿简单的描写叙 ...
- java对象与xml相互转换 ---- xstream
XStream是一个Java对象和XML相互转换的工具,很好很强大.提供了所有的基础类型.数组.集合等类型直接转换的支持. XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用 ...
随机推荐
- java传统web项目添加maven管理jar包,log4j无法正常输出日志
本文适合1年以上编程基础的开发人员阅读,非技术创新,可作为故障排除实录参考/收藏. 背景 笔者最近在给公司一个老的web项目改造升级,项目使用springmvc+mybatis,由于项目比较久远,没有 ...
- springboot报错Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
springboot项目在启动时需要把servlet容器编译进去,这时候如果你的maven依赖里面没有配置jetty或者tomcat相关依赖就会报错. 解决方法: jetty添加 <depend ...
- 使用PreparedStatement时,输出完整的SQL语句
使用psstmt时不能打印出完整的sql语句,挺不方便的,找到一个实现方法,记录下来. package com.zhh.function.util; import java.io.InputStrea ...
- (转)wcf项目程序调试
由于使用分布式开发,因此在调试时,要分为客户端调试和服务端调试两种情况,下面就对这两种情况的调试步骤分别加以详细说明 调试客户端的页面代码 当仅仅需要调试客户端代码时,按照以下步骤进行操作: 1. ...
- Windows下war包部署到Linux下Tomcat出现的问题
最近,将Windows下开发的war包部署到Linux下的Tomcat时报了一个错误:tomcat error in opening zip file.按理说,如果正常,当把war包复制到webapp ...
- CH6802 車的放置
原题链接 和棋盘覆盖(题解)差不多. 将行和列看成\(n+m\)个节点,且分属两个集合,如果某个节点没有被禁止,则行坐标对应节点向列坐标对应节点连边,然后就是求二分图最大匹配了. #include&l ...
- APP强制退出
第一种方法: 企业版可以用,Appstore可能被拒,慎用 - (void)exitApplication { AppDelegate *app = [UIApplication sharedAppl ...
- 判断某个字符串里面是否包含caoyang 这个字符串?
$string = 'Lorem ipsum dolor sit amet'; $preg = '/caoyang/'; $status = preg_match($preg, $string,$ma ...
- Java界面编程—事件的种类
Java处理事件相应的类和监听接口大多位于 awt 包中. 在 java.swing.event 包中有专门用于 swing 组件的事件类和监听接口. awt 事件类继承自 AWTEvent,其超类是 ...
- RabbitVCS - Ubuntu VCS Graphical Client
Easy version control for Linux RabbitVCS is a set of graphical tools written to provide simple and s ...