67,513
社区成员
发帖
与我相关
我的任务
分享
package com.tur.demo;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class BeanToXml {
public static User createUser() {
User user = new User("Biao", "Passw0rd");
user.getValues().add("One");
user.getValues().add("Two");
user.getValues().add("Three");
user.getCodes()[0] = 0;
user.getCodes()[1] = 1;
user.getCodes()[2] = 2;
user.getCodes()[3] = 3;
return user;
}
public static void toXml() {
User user = createUser();
Message message = new Message();
message.setType("User");
message.setContent(user);
XStream xstream = new XStream();
xstream.alias("Message", Message.class);
xstream.alias("User", User.class); // 别名,输出的时候是User,而不是com.tur.demo.User
System.out.println(xstream.toXML(message));
}
public static void fromXml() {
XStream xstream = new XStream();
xstream.alias("User", User.class);
xstream.alias("Message", Message.class);
Message message = (Message) xstream.fromXML(ClassLoader.getSystemResource("data.txt"));
User user = (User) message.getContent();
System.out.println(user);
}
public static void toJson() {
User user = createUser();
XStream xstream = new XStream(new JettisonMappedXmlDriver());
xstream.setMode(XStream.NO_REFERENCES);
xstream.alias("User", User.class);
System.out.println(xstream.toXML(user));
}
public static void fromJson() {
}
public static void main(String[] args) {
toXml();
fromXml();
toJson();
}
}
class Message {
private String type;
private Object content;
String getType() {
return type;
}
void setType(String type) {
this.type = type;
}
Object getContent() {
return content;
}
void setContent(Object content) {
this.content = content;
}
}
class User {
private String username;
private String password;
private List<String> values;
private int[] codes;
public User() {
this("", "");
}
public User(String username, String password) {
this.username = username;
this.password = password;
this.values = new ArrayList<String>();
this.codes = new int[5];
}
String getUsername() {
return username;
}
void setUsername(String username) {
this.username = username;
}
String getPassword() {
return password;
}
void setPassword(String password) {
this.password = password;
}
List<String> getValues() {
return values;
}
void setValues(List<String> values) {
this.values = values;
}
int[] getCodes() {
return codes;
}
void setCodes(int[] codes) {
this.codes = codes;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", values=" + values +
", codes=" + Arrays.toString(codes) +
'}';
}
}