• 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();
            }
        }
    }

  • 相关阅读:
    EntityFramework进阶(二)- DbContext预热
    EntityFramework进阶(一)- DbContext与ObjectContext互转
    ambari集成impala
    搭建私有npm私库(使用verdaccio)
    Vue中的slot,slot-scope,v-slot
    Vue 中如何利用watch 监听对象中每一个属性的变化
    css3的counter的用法
    http请求整理
    带有过渡效果的下拉列表,下拉的内容高度不一致且不确定如何办?
    用js通过url传参把数据从一个页面传到另一个页面
  • 原文地址:https://www.cnblogs.com/aa6055blog/p/4630414.html
Copyright © 2020-2023  润新知