dom4j 解析 xml

dom4j 解析 xml

大家好,又见面了,我是你们的朋友全栈君。

使用 dom4j 解析 xml,对于数据量不大的 文件可以很方便的解析

使用maven构建项目

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>TestDom4j</groupId>
    <artifactId>Dom4j</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
    <dependency>
        <groupId>org.apache.directory.studio</groupId>
        <artifactId>org.dom4j.dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.1.6</version>
        </dependency>
    </dependencies>


</project>

<?xml version="1.0" encoding="utf-8"?>
<root year="2008">
    <boss name="zhansan">
    <class id="001">zhansan_001
    </class>
    <class id="002">zhansan_002
    </class>
    </boss>
    <boss name="lisi">
        <class id="001">lisi_001</class>
        <class id="002">lisi_002</class>
    </boss>
</root>

要获取 boos name , class id, class value

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import javax.print.Doc;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;

/**
 * Created by weijunas on 2014/6/19.
 */

public class Myparise {
    public static void main(String[] args0) throws DocumentException, FileNotFoundException {
        StringBuffer sb=new StringBuffer();
        SAXReader reader=new SAXReader();
        Document doc=null;
        doc=reader.read(Myparise.class.getClassLoader().getResourceAsStream("Demon.xml"));// 文件相对路劲 获取 输入流
        Element root=doc.getRootElement();
        System.out.println(root.getName());

     List<Element> elementList=doc.selectNodes("//boss/class"); //解析 boos 元素下的 class 子节点
        for (Element element : elementList){
            System.out.println(element.getTextTrim()+"----"+element.valueOf("@id")+"------"+element.getParent().valueOf("@name")+"----"+
            element.getParent().getParent().valueOf("@year"));
        }
        System.out.println(root);


    }

}

输入结果 和 工程结构


dom4j 解析 xml

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152038.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号