xfire项目需要引入xpp3_min-1.1.3.4.O.jar,xstream-1.2.2.jar包
客户端和服务端都是webservice项目
服务端代码
服务端复杂的实体对象
package com.testxmlstream.domain;
import java.util.List;
public class PersonMess {
public final static String PERSONMESS="personMess";
public final static String USER="user";
private String firstname;
private String lastname;
private PhoneNumber phone;
private PhoneNumber fax;
private List<User> userlist;
public PersonMess(String firstname,String lastname){
this.firstname=firstname;
this.lastname=lastname;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public PhoneNumber getPhone() {
return phone;
}
public void setPhone(PhoneNumber phone) {
this.phone = phone;
}
public PhoneNumber getFax() {
return fax;
}
public void setFax(PhoneNumber fax) {
this.fax = fax;
}
public List<User> getUserlist() {
return userlist;
}
public void setUserlist(List<User> suserlisterlist) {
this.userlist = suserlisterlist;
}
}
package com.testxmlstream.domain;
public class PhoneNumber {
private int code;
private String number;
public PhoneNumber(int code, String number) {
this.code = code;
this.number = number;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
package com.testxmlstream.domain;
public class User {
private String userId;
private String userName;
public User(String userId, String userName) {
this.userId = userId;
this.userName = userName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
服务端接口与实现类
package com.testxmlstream.service;
public interface WebServiceXmlStreamService {
public String getXmlStream();
}
package com.testxmlstream.service;
import java.util.ArrayList;
import java.util.List;
import com.testxmlstream.domain.PersonMess;
import com.testxmlstream.domain.PhoneNumber;
import com.testxmlstream.domain.User;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class WebServiceXmlStreamServiceImp implements
WebServiceXmlStreamService {
public String getXmlStream() {
// TODO Auto-generated method stub
XStream xstream = new XStream(new DomDriver());
xstream.alias(PersonMess.PERSONMESS, PersonMess.class);
xstream.alias(PersonMess.USER, User.class);
xstream.alias("person", PersonMess.class);
xstream.alias("phonenumber", PhoneNumber.class);
PersonMess joe = new PersonMess("Joe", "Walnes");
User user=new User("11111","22222222");
User user2=new User("33333333","4444444444");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
List <User> userlist=new ArrayList<User>();
userlist.add(user);
userlist.add(user2);
joe.setUserlist(userlist);
String xml = xstream.toXML(joe);
System.out.println(xml);
return xml;
}
}
客户端通过myeclipse生成IWebServiceXmlStreamServiceClient.java,然后在生成类客户端类的main方法中加入以下代码
public static void main(String[] args) {
IWebServiceXmlStreamServiceClient client = new IWebServiceXmlStreamServiceClient();
//create a default service endpoint
IWebServiceXmlStreamServicePortType service = client.getIWebServiceXmlStreamServiceHttpPort();
String xml=service.getXmlStream();
XStream xstream = new XStream(new DomDriver());
xstream.alias(PersonMess.PERSONMESS, PersonMess.class);
xstream.alias(PersonMess.USER, User.class);
xstream.alias("person", PersonMess.class);
xstream.alias("phonenumber", PhoneNumber.class);
PersonMess newJoe = (PersonMess)xstream.fromXML(xml);
System.out.println("-------------------------------");
System.out.println(newJoe.getFirstname());
System.out.println(newJoe.getPhone().getNumber());
List<User>userlist=newJoe.getUserlist();
for(User user:userlist){
System.out.println(user.getUserId());
}
//TODO: Add custom client code here
//
//service.yourServiceOperationHere();
System.out.println("test client completed");
System.exit(0);
}
分享到:
相关推荐
android XMl 解析神奇xstream 三: 把复杂对象转换成 xml
xstream 1.3.1.jar bean对象转换为xml
xstream轻松解析xml到java对象,内附样例。so easy!妈妈再也不用担心我的xml解析。
XStream和Xpp3实现对象到XML的互转参考文档 本人的一次真实测试,有效实用,对一些异常处理也做了解释。对于所需的jar包,本人会另外上传。
android XMl 解析神奇xstream 二: 把对象转换成xm
xstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包 对象转xmlxstream-1.4.3.jar 包...
NULL 博文链接:https://yangliuwillow.iteye.com/blog/1528435
webService接口对接时,需要传递一个xml内容。用xStream拼接xml
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
Java对象转换成XML字符串 将List集合转换成xml文档 Map集合转换xml文档 用InputStream将XML文档转换成java对象
XStream使用方法总结L-对象-转换.txt
Xstream_java对象和xml的互相转换
有jar包。在附件。全的,代码也有,,直接运行
xstream-1.4.9实现xml与对象互转,不会用可以找dddddddddddddddddd
好用的xStream XML和JAVA对象互相转换的简单示例,内附依赖的xstream-1.3.1.jar和xpp3_min-1.1.4c.jar
Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发。 0x01 漏洞描述 Xstream上次对CVE-2020-26217处理并不彻底,虽然通过黑名单...
xstream jar包,java对象转xml以及xml转java对象,操作很简单。
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项
使用 XStream 把 Java 对象序列化为 XML