Java解析xml

来源:互联网 发布:韦德职业生涯数据 编辑:程序博客网 时间:2024/05/03 13:34

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");// 存放favoritewhile (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.csdn.net/detail/hoho_12/9599041


0 0
原创粉丝点击