zoukankan      html  css  js  c++  java
  • DOM4J方式解析XML文件

    dom4j介绍

      dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory

      dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。

       dom4j下载地址:http://download.csdn.net/detail/ww6055/8880397

    dom4j的使用

      下载了dom4j项目之后,解压缩,将其jar包(我的当前版本叫做dom4j-1.6.1.jar)加入class path下面。

      (Properties->Java Build Path -> Add External JARs...)。

      之后就可以使用其提供的API进行编程。

    程序实例:

    books.xml文件:(在src/res文件夹下)

    Book.java实体类:

    public class Book {
        private String id;
        private String name;
        private String price;
        private String author;
        private String year;
        private String language;
        public String getLanguage() {
            return language;
        }
        public void setLanguage(String language) {
            this.language = language;
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPrice() {
            return price;
        }
        public void setPrice(String price) {
            this.price = price;
        }
        public String getAuthor() {
            return author;
        }
        public void setAuthor(String author) {
            this.author = author;
        }
        public String getYear() {
            return year;
        }
        public void setYear(String year) {
            this.year = year;
        }
    }

    DOM4J解析XML文件Dom4jTest.java(注:文件中需要导入的Attribute、Document、Element、SAXReader都是DOM4J包下的):

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.InputStream;
    import java.util.Iterator;
    import java.util.List;
    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;


    public class Dom4jTest {
        public static void main(String[] args) {
            //通过SAXReader的对象reader的read方法加载books.xml文件,获取Document对象
            SAXReader reader = new SAXReader();
            try {
                Document doc=reader.read(new File("src/res/books.xml"));
                //通过Document对象获取根节点
                Element bookstore=doc.getRootElement();
                //通过element对象的elementIterator方法获取迭代对象
                Iterator it= bookstore.elementIterator();
                //遍历迭代器,获取根节点中的信息
                while(it.hasNext()){
                    System.out.println("=============开始遍历某一本书=============");
                    Element book=(Element) it.next();
                    List<Attribute> bookAttr=book.attributes();
                    for(Attribute attr:bookAttr){
                        System.out.println("属性名:"+attr.getName()+"---------------属性值:"+attr.getValue());
                    }
                    Iterator itt = book.elementIterator();
                    while(itt.hasNext()){
                        //book节点下的任意一个子节点
                        Element bookChild = (Element) itt.next();
                        System.out.println("节点名:"+bookChild.getName()+" ***** 节点值:"+bookChild.getStringValue());
                    }
                    System.out.println("=============结束遍历某一本书=============");
                }
                
            } catch (DocumentException e) {
                e.printStackTrace();
            }
        }
    }

  • 相关阅读:
    抽象工厂模式
    工厂模式
    简单工厂模式
    查询功能测试的测试点汇总
    网卡设置 网卡的高级设置说明
    30道python真实面试题(搜集到的,看看其实都是基础)
    测试用例设计方法--正交试验法
    小游戏:乌龟吃鱼
    Tkinter 的三大布局管理器 pack、grid 和 place用法汇总
    Python中输出字体的颜色设置
  • 原文地址:https://www.cnblogs.com/aa6055blog/p/4630414.html
Copyright © 2011-2022 走看看