dom4j解析xml文档

student.xml

<?xml version="1.0" encoding="GBK"?>
<students>
    <student>
        <name>吴飞</name>
        <college>java学院</college>
        <telephone>62354666</telephone>
        <notes>男,1982年生,硕士,现就读于北京邮电大学</notes>
    </student>
    <student>
        <name>李雪</name>
        <college>C++学院</college>
        <telephone>62358888</telephone>
        <notes>男,1987年生,硕士,现就读于中国农业大学</notes>
    </student>
    <student>
        <name>Jack</name>
        <college>PHP学院</college>
        <telephone>66666666</telephone>
        <notes>我是澳洲人</notes>
    </student>
    <student>
        <name>Lucy</name>
        <college>Android学院</college>
        <telephone>88888888</telephone>
        <notes>我是美国人</notes>
    </student>
</students>
package edu.aeon.xml;

import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
 * [说明]:dom4j解析student.xml文件中的所有内容
 * 需要jar包:dom4j-1.6.1.jar
 * @author aeon(qq:1584875179)
 */
public class Dom4jXMLParser {

    public static void main(String[] args) {
        try {
            //创建解析器
            SAXReader saxReader=new SAXReader();
            //通过解析器将指定的路径的xml读取到内存中并且解析为一个document对象
            Document document=saxReader.read("config/student.xml");
            //获取该document对象的根节点
            Element rootElement=document.getRootElement();
            //迭代获取根节点里面的所有元素
            for(Iterator<Element> rootElementIt=rootElement.elementIterator();rootElementIt.hasNext();){
                //获得根节点的下一个元素
                Element studentEle=rootElementIt.next();
                for(Iterator<Element> studentEleIt=studentEle.elementIterator();studentEleIt.hasNext();){
                    Element studentContext = studentEleIt.next();
                    String studentContextValue=studentContext.getStringValue();
                    System.out.println(studentContext.getName()+":"+studentContextValue);
                }
                System.out.println("===================================");
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
}

结果截图:

  

如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

原文地址:https://www.cnblogs.com/aeon/p/10766165.html