使用Dom4解析xml

XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。

XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。

  XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。

      其中前两种属于基础方法,是官方提供的平台无关的解析方式;

      后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。

---使用DOM4J解析xml

package com.dom.test;

import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import java.io.File;
import java.io.FileWriter;

import java.io.Writer;
import java.util.Iterator;

 
public class Document {
    /**
     * 建立XML文档
     * 
     * @param fileName
     * 文件全路径名称
     */
    public void createXml(String fileName) throws Exception {
        org.dom4j.Document document = DocumentHelper.createDocument();// 创建document对象
        Element employee = document.addElement("employee"); // 添加一个节点
        Element name = employee.addElement("name"); // 为节点添加一个属性
        name.setText("张雨");
        Element sex = employee.addElement("sex"); // 为 节点添加一个性别属性
        sex.setText("男");
        Element age = employee.addElement("age"); // 为节点添加年龄属性
        age.setText("19");
        Writer fileWriter = new FileWriter(fileName);
        XMLWriter xmlWriter = new XMLWriter(fileWriter);
        xmlWriter.write(document);
        xmlWriter.close(); // 关闭流

    }
    
    /**
     * 解析XML文档
     * @param fileName 文件全路径名称
     */
    public void parserXml(String fileName) {
        File inputXml = new File(fileName);
        SAXReader saxReader = new SAXReader();
        try {
            org.dom4j.Document document = saxReader.read(inputXml);       //SAX生成和解析XML文档
            Element employees = document.getRootElement();    //获得根节点
            Iterator it = employees.elementIterator();
            while (it.hasNext()) {
                  Element node = (Element) it.next();
                  System.out.println(node.getName()+":"+node.getText());
            }
 
        } catch (DocumentException e) {
            e.printStackTrace();
        }

    }
    public static void main(String[] args) throws Exception{
        //new Document().createXml("F:\\student.xml");
        new Document().parserXml("F:\\student.xml");
    }
    
}

 

 

posted @ 2018-08-21 14:53  李四岁  阅读(193)  评论(0)    收藏  举报