要转换的xml
<?xml version="1.0" encoding="UTF-8"?>
<User>
<Age>23</Age>
<NameList>
<name>name1</name>
<name>name2</name>
<name>name3</name>
<name>name4</name>
</NameList>
</User>对应的 User 类
public class User {
private int age;
private List nameList;
}
请问:对于这样的xml转换成bean 用apache 的 simpleXml 该怎样实现呢? 谢谢!
<?xml version="1.0" encoding="UTF-8"?>
<User>
<Age>23</Age>
<NameList>
<name>name1</name>
<name>name2</name>
<name>name3</name>
<name>name4</name>
</NameList>
</User>对应的 User 类
public class User {
private int age;
private List nameList;
}
请问:对于这样的xml转换成bean 用apache 的 simpleXml 该怎样实现呢? 谢谢!
DocumentBuilder db = ch.newDocumentBuilder() ;
Document dom = db.parse(file) ;
NodeList nl_sr = dom.getElementsByTagName("source-rightCode");//以下请参考JDK API
import com.google.common.io.*;
import com.google.common.base.*;
public class Main {
public static void main(final String[] args) throws Exception{
XStream xstream = new XStream();
xstream.alias("User",User.class);
xstream.aliasField("Age",User.class,"age");
xstream.aliasField("NameList",User.class,"nameList");
xstream.alias("name",String.class);
User user = (User)xstream.fromXML(Resources.toString(Resources.getResource(Main.class,"user.xml"),Charsets.UTF_8));
System.out.println(xstream.toXML(user));
}
}
user.xml 就是你上面那段xml,和 Main.class 放到同一个目录下。
依赖的库 xstream, google guava r09.
<Age>23</Age>
<NameList>
<name>name1</name>
<name>name2</name>
<name>name3</name>
<name>name4</name>
</NameList>
</User>
private List<String> nameList;<User>
<Age>23</Age>
<NameList class="java.util.ArrayList">
<name>name1</name>
<name>name2</name>
<name>name3</name>
<name>name4</name>
</NameList>
</User>
class="java.util.ArrayList" 怎么去掉?
private int age;
对于XStream 的注解 弱在什么地方了呢?