首先需要两个jar包,在eclipse项目根目录下新建lib文件夹,把jar包放进去,再选中jar包,右键build path-->config......即可。
现有user.xml文件,
<?xml version="1.0" encoding="UTF-8"?>
<userprofile>
<users>
<user>
<name>jack</name>
<mail>jack@hotmail.com</mail>
<age>22</age>
</user>
<user>
<name> allen </name>
<mail> allen@163.com </mail>
<age>21</age>
</user>
</users>
</userprofile>
用XStream解析过程如下:
(1.)实体类:
package xstream;
public class User{
private String name;
private String mail;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
(2.)文件类:
package xstream;
import java.util.ArrayList;
import java.util.List;
public class UserProfile{
private List users=new ArrayList();
public void setUsers(List users){
this.users=users;
}
public List getUsers(){
return users;
}
public void addUser(User user){
users.add(user);
}
}
(3.)操作类:
package xstream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.List;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XStreamTest {
public static void main(String[] args) throws FileNotFoundException {
XStream stream = new XStream(new DomDriver());
stream.alias("userprofile", UserProfile.class);
stream.alias("user", User.class);
UserProfile profile = (UserProfile) stream.fromXML(new FileReader(
"user.xml"));
List users = profile.getUsers();
for (int i = 0; i < users.size(); ++i) {
User user = (User) users.get(i);
System.out.println(user.getName());
System.out.println(user.getAge());
}
}
}
运行输出结果如下:
jack
22
allen
21