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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetocde-416分割等和子集(01背包)

    leetocde-416分割等和子集(01背包)原题链接给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.题解先看和如果式奇数,返回false,否则除以2,然后看是否能够用拼凑出整合处于

    2022年8月8日
    3
  • 《剑指offer》– 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    《剑指offer》– 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    2021年10月3日
    37
  • redis集群实战

    redis集群实战

    2021年9月15日
    47
  • StringUtils测试

    StringUtils测试来源:http://blog.sina.com.cn/s/blog_621b6f0e0100tqaj.htmlorg.springframework.util.StringUtils我们经常会对字符串进行操作,spring已经实现了常用的处理功能。我们可以使用org.springframework.util.StringUtils工具类帮我们处理字符串。工具类整理如下:

    2022年6月3日
    39
  • 近场动力学matlab程序_一阶惯性环节matlab

    近场动力学matlab程序_一阶惯性环节matlab本发明属于过程控制技术领域,尤其涉及一种镇定一阶惯性加纯滞后系统的线性自抗扰控制器设计方法,进一步涉及一种用于具有时滞的工业过程控制系统的自抗扰控制器设计方法。背景技术:时滞作为一种常见的物理现象,在工业过程和生产生活中随处可见,例如管道对油气的输送、线缆对信号的传递、锅炉的燃烧等过程。这一类过程具有的共性即被控量不能立即对控制量的作用做出反应,这样的特点决定了被控对象输入与输出之间不同步的开环特…

    2022年9月27日
    1
  • 使用treeNMS管理及监控Redis

    使用treeNMS管理及监控Redis

    2021年11月3日
    35

发表回复

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

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