UserList.xml
<?xml version="1.0" encoding="utf-8"?>
<userlist>
<!--User对象-->
<user id="100">
<username>张三</username>
<password>admin</password>
<favoriteList>
<favorite>篮球</favorite>
<favorite>足球</favorite>
<favorite>乒乓球</favorite>
</favoriteList>
</user>
<user id="101">
<username>李四</username>
<password>admin1</password>
</user>
<user id="102">
<username>王五</username>
<password>admin2</password>
</user>
</userlist>
java解析
package com.wxh.parse;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.wxh.bean.UserBean;
public class Demo2 {
public static void main(String[] args) {
List<UserBean> userList = parseXml(new File("src\\UserList.xml"));
for (UserBean user : userList) {
System.out.println(user.toString());
}
}
public static List<UserBean> parseXml(File source) {
List<UserBean> userList = new ArrayList<UserBean>();
SAXReader reader = new SAXReader();
try {
Document document = reader.read(source);
// 解析
// <userlist></userlist>
Element root = document.getRootElement();
Iterator<Element> userIte = root.elementIterator("user");
while (userIte.hasNext()) {
// <user></user>
Element userEle = userIte.next();
String id = userEle.attributeValue("id");
String username = userEle.elementText("username");
String password = userEle.elementText("password");
// <favoriteList></favoriteList>
Element favoriteListEle = userEle.element("favoriteList");
List<String> favorites = new ArrayList<String>();
if (favoriteListEle != null) {
Iterator<Element> favoriteIte = favoriteListEle
.elementIterator("favorite");
// 存放favorite
while (favoriteIte.hasNext()) {
// <favorite></favorite>
String favoriteStr = favoriteIte.next().getText();
// System.out.println(favoriteStr);
favorites.add(favoriteStr);
}
}
// 封装对象
UserBean user = new UserBean();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
user.setFavorites(favorites);
// 添加到集合中
userList.add(user);
}
} catch (DocumentException e) {
e.printStackTrace();
}
return userList;
}
}
需要额外的jar包:
http://download.youkuaiyun.com/detail/hoho_12/9599041