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类,一般来说,熟悉这个类基本就够用 ...
随机推荐
- mvc中webapi添加后没法访问 解决办法
原因:原先项目中没有webapi,后来添加的. 然后就没法正常访问,百度了下发现是 App_Start/WebApiConfig.cs中路由配置多了个api 而且没有加{action}, 然后修改成: ...
- 正则表达式 re sys os random time 模块
今天学习内容如下: 1.正则表达式 百度正则表达式在线测试,可以练习 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则.官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用 ...
- c# 把对象加入队列,对象为全局变量,对象改变队列值也跟着改变
若程序把对象加入队列,对象为全局变量,对象改变队列值也跟着改变,如下: filecontent 为两个字段的属性值. class FileContent { // public string Htt ...
- PAT 甲级 1005 Spell It Right (20)(代码)
1005 Spell It Right (20)(20 分) Given a non-negative integer N, your task is to compute the sum of al ...
- instanceof 和 typeof
instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链 function Person(){ Person.prototype.dan ...
- spring mvc 提交表单汉字乱码
修改web.xml添加如下信息 <filter> <filter-name>characterEncodingFilter</filter-name> <fi ...
- 1.preparation
1)Evarobot 安装 http://wiki.ros.org/Robots/evarobot/Tutorials/indigo/Evarobot%20Installation 2)PC 安装 a ...
- keras框架的CNN手写数字识别MNIST
参考:林大贵.TensorFlow+Keras深度学习人工智能实践应用[M].北京:清华大学出版社,2018. 首先在命令行中写入 activate tensorflow和jupyter notebo ...
- 再读c++primer plus 001
1. OOP强调的是在运行阶段(而不是编译阶段)进行决策,运行阶段指的是程序正在运行时,编译阶段指的是编译器将程序组合起来时. 2.变量的值都存储在栈中,而new从被称为堆或自由存储区的内存区域分配内 ...
- 鲍姆-韦尔奇算法求解HMM参数
1. HMM模型参数求解概述 HMM模型参数求解根据已知的条件可以分为两种情况. 第一种情况较为简单,就是我们已知DD个长度为TT的观测序列和对应的隐藏状态序列,即{(O1,I1),(O2,I2),. ...