zoukankan      html  css  js  c++  java
  • java基础篇---XML解析(二)

      XML解析之最流行的方式:DOM4J

    dom4j是使用java语言编写的,用于读,写,操作XML的一套组件

    dom4j是一个开源的java组件,可从http://sourceforge.net/projects/dom4j/files/下载。其解压后有一个dom4j-1.6.1.jar文件,这个就是需要引入的包,其dom4j的所有的接口都在org.dom4j包中定义,主要接口如下:

    XML写入文件:DOM4JWriter.java
    package org.lxh.xml.dom4j ;
    import java.io.* ;
    import org.dom4j.* ;
    import org.dom4j.io.* ;
    public class DOM4JWriter {
        public static void main(String args[]) throws Exception {
            Document doc = DocumentHelper.createDocument() ;
            Element addresslist = doc.addElement("addresslist") ;    // 现在定义一个根节点
            Element linkman = addresslist.addElement("linkman") ;
            Element name = linkman.addElement("name") ;
            Element email = linkman.addElement("email") ;
            name.setText("偶my耶") ;
            email.setText("email") ;
            OutputFormat format = OutputFormat.createPrettyPrint() ;
            format.setEncoding("UTF_8") ;
    
            XMLWriter writer = new XMLWriter(new FileOutputStream(new File("e:" + File.separator + "output.xml")),format) ;
            writer.write(doc) ;    // 进行输出
            writer.close() ;
        }
    }

    dom4j读取文件DOM4JReader.java

    package org.lxh.xml.dom4j ;
    import java.io.* ;
    import java.util.* ;
    import org.dom4j.* ;
    import org.dom4j.io.* ;
    public class DOM4JReader {
        public static void main(String args[]) throws Exception {
            File file = new File("d:" + File.separator + "output.xml") ;
            SAXReader reader = new SAXReader() ;
            Document doc = reader.read(file) ;    
    
            Element root = doc.getRootElement() ;    
    
            Iterator iter = root.elementIterator() ;
            while(iter.hasNext()){
                Element linkman = (Element) iter.next() ;
                System.out.println("姓名:" + linkman.elementText("name")) ;
                System.out.println("emeil:" + linkman.elementText("email")) ;
            }
        }
    }

    输出结果:

    从程序中可以清楚的发现,DOM4J本身是需要使用SAX建立解析器然后通过文档找到根节点,在通过根节点找到每一个节点的内容。

  • 相关阅读:
    将SVD应用于推荐系统
    matrix.A
    机架感知配置
    PCA主成分分析进行数据降维
    Rabbitmq的高级特性
    Topics(主题模式)
    Routing(exchange--direct)
    fanout(Publish/Subscribe)发布/订阅
    Work Queues(工作队列)
    simple queue(简单队列)
  • 原文地址:https://www.cnblogs.com/oumyye/p/4222820.html
Copyright © 2011-2022 走看看