xuehaipeng 发表于 2013-2-5 01:06:20

Sax解析结合Xpath的用法

package sax;import java.io.FileInputStream;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.Node;import org.dom4j.io.SAXReader;public class SAXReaderUtil {public static List<BookModel> saxXMLData() {SAXReader saxReader = new SAXReader();List<BookModel> bookModelList = new ArrayList<BookModel>();try {FileInputStream fis = new FileInputStream("F:/WorkSpeace/TestDemo/WebRoot/WEB-INF/classes/books.xml");Document doc = saxReader.read(fis);List result = doc.selectNodes("//books/book");for (Object object : result) {BookModel bookModel = new BookModel();Node node = (Node) object;String id = node.valueOf("@id");bookModel.setId(id);String name = node.valueOf("name");bookModel.setName(name);Node imageNode = node.selectSingleNode("image");if (imageNode != null) {List imageURLList = imageNode.selectNodes("image_url");List<String> imageURLListTemp = new ArrayList<String>();for (Object object2 : imageURLList) {Node imageURLNode = (Node) object2;String image_url = imageURLNode.getText();imageURLListTemp.add(image_url);}bookModel.setImageURLList(imageURLListTemp);}bookModelList.add(bookModel);}} catch (Exception e) {e.printStackTrace();}return bookModelList;}public static void main(String[] args) {List<BookModel> bookModelList = saxXMLData();for (BookModel bookModel : bookModelList) {System.out.println(bookModel.getId());System.out.println(bookModel.getName());List<String> imageList = bookModel.getImageURLList();if (imageList != null && imageList.size() > 0) {for (String string : imageList) {System.out.println(string);}}System.out.println("=================");}}}
<?xml version="1.0" encoding="GB2312"?><books><book id="1"><name>Thinking in JAVA</name><image><image_url>http://www.coojin.com</image_url><image_url>http://shop.coojin.com</image_url><image_url>http://car.coojin.com</image_url></image></book><book id="2"><name>Core JAVA2</name></book><book id="3"><name>C++ primer</name></book></books>
要导入三个jar包:
jaxen-full.jar
saxpath.jar
dom4j-1.6.1.jar
页: [1]
查看完整版本: Sax解析结合Xpath的用法