A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 血剑无痕 中级黑马   /  2013-10-12 07:57  /  1961 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class XPathTest {
   
    public static void main(String[] args) throws Exception {
        
        //获得document
        //获得解析流
        SAXReader reader = new SAXReader();
        //解析xml
        Document document  = reader.read("books.xml");
        
        //查询book id = b002 的元素   java.lang.NoClassDefFoundError
        Node node = document.selectSingleNode("//book[@id='b002']");
        
        System.out.println(node);
        
    }

}
import java.util.ArrayList;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import cn.itcast.domain.Book;

public class Dom4jTest {
   
    public static void main(String[] args) throws Exception {
        
        //需要List 存放所有的book对象
        List allBook = new ArrayList();
        
        //获得解析流
        SAXReader reader = new SAXReader();
        //xml文件的解析
        Document document = reader.read("books.xml");
        //获得根元素
        Element rootElement = document.getRootElement();
        //获得所有的书籍
        List list = rootElement.elements();
        //遍历所有的书籍 -- list
        for(int e = 0 ; e < list.size() ; e ++){
            //创建book对象
            Book book = new Book();
            //获得每一本book元素
            Element bookElement = (Element)list.get(e);
            //获得书籍的id属性值
            String id = bookElement.attributeValue("id");
            //System.out.println(id);
            book.setId(id);
            
            //获得title和price
            List childList = bookElement.elements();
            //遍历子元素
            for(int c = 0 ; c < childList.size() ; c ++){
                //获得每一个子元素
                Element child = (Element) childList.get(c);
//                System.out.println(child);
                //获得子元素文本内容
                String content = child.getText();
                //判断是否是title
                if("title".equals(child.getName())){
                    book.setTitle(content);
                }
                //判断是否是price
                if("price".equals(child.getName())){
                    book.setPrice(content);
                }
               
               
            }
            
            //将已经封装了内容的book对象,添加到list中
            allBook.add(book);
        }
        
        
        //程序解析前,输出内容
        System.out.println(allBook);
        
    }

}


评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
李江 + 1 + 3 赠人玫瑰,手有余香

查看全部评分

1 个回复

倒序浏览
本帖最后由 吴光新 于 2013-10-12 17:54 编辑

不错,这是哪位童鞋哇{:soso_e142:}

你要是发到android技术交流区去多好!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马