<users> <user> <Username>A</Username> <Password>123</Password> </user> <user> <Username>B</Username> <Password>123456</Password> </user> </users>
package digester; public class User { private String username; private String password; public String getusername() { return username; } public void setusername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
package digester; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2017/10/23. */ public class Users { private List list=null; public void addUser(User user) { if (list == null) { list = new ArrayList(); } list.add(user); } public List getList() { return list; } public void setList(List list) { this.list = list; } @Override public String toString() { return "Users{" + "list=" + list + '}'; } }
package digester; import org.apache.commons.digester3.Digester; import org.xml.sax.SAXException; import java.io.File; import java.io.IOException; /** * Created by Administrator on 2017/10/23. */ public class DigesterDemo { public static void main(String[] args) { Digester digester = new Digester(); digester.addObjectCreate("users", Users.class); digester.addObjectCreate("users/user", User.class); digester.addSetProperties("users/user"); digester.addBeanPropertySetter("users/user/Username", "username"); digester.addBeanPropertySetter("users/user/Password", "password"); digester.addSetNext("users/user", "addUser"); try { File file = new File("D:\\IDEA\\ideawebworkspace\\xmlreview\\src\\user.xml"); Object parse = digester.parse(file); System.out.println(parse); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } } }
ps:java
commons-beanutils-1.9.3.jar
commons-collections-2.1.1.jar
commons-digester3-3.2.jar
commons-logging-1.2.jarweb