day29(对象转xml(使用java))
Posted fjk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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))的主要内容,如果未能解决你的问题,请参考以下文章