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


相关推荐

  • 微软面试-微软面试题(5)[通俗易懂]

    微软面试-微软面试题(5)[通俗易懂]微软面试题-头脑  ★如果你有一个许多部件可以拆卸的时钟,你将它一块块拆开,但是没有记住是怎样拆的。然后你将各个零件重新组装起来,最后发现有三个重要零件没有放进去。这时你如何重新组装这个时钟?  ★如果你需要学习一门新的计算机语言,你会怎样做?  ★假设由你负责设计比尔·盖茨的卫生间。当然,钱不成问题,但是你不可以和比尔谈。你会怎样做?  ★到目前为止,你遇到的最难回答的问题是什么?  ★如果微软

    2022年8月26日
    8
  • 函数iconv_substr和mb_substr

    函数iconv_substr和mb_substr

    2021年9月19日
    52
  • Windows Server 2016 检查更新时,错误代码8024401C 的解决方案「建议收藏」

    Windows Server 2016 检查更新时,错误代码8024401C 的解决方案「建议收藏」这个问题的核心是连接不到更新服务器,有多种解决方案(如给SoftwareDistribution改名、疑难解答等),还有一部分情况是因为IPV6导致,关闭IPV6即可解决。如果其他办法都不好用可以试试这个~WindowsServer关闭ipv6的办法:开始->运行->输入Regedit进入注册表编辑器定位到:[HKEY_…

    2022年6月11日
    31
  • 英语商务邮件常用句子_商务英语email写作

    英语商务邮件常用句子_商务英语email写作1.Iamwritingtoconfirm/enquire/informyou…我发邮件是想找你确认/询问/想通知你有关…2.IamwritingtofollowuponourearlierdecisiononthemarketingcampaigninQ2.我写邮件来是为了跟进我们之前对第二季度营销活动的决定。3

    2022年10月20日
    2
  • 一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?

    一定要用相同的Context 对同一个receiver进行registerReceiver与unregisterReceiver吗?最近在开发一些功能,突然想到在动态注册和反注册receiver的时候一定要用相同的context吗?我不敢肯定咨询了同事,得到的答案是不行的,然而为了进一步佐证他的观点我自己尝试了一下。也就是查了一下相关代码。众所周知android的应用程序在ActivityThread的publicstaticvoidmain(String[]args)中开始调用我们写的代码,Application、A

    2025年10月26日
    4
  • 刷流量和刷点击率的方法探讨

    本文主要用到的工具软件有《网页自动操作通用工具》或《网页自动刷新监控工具》,其中《网页自动操作通用工具》包含《网页自动刷新监控工具》所有功能,所以主要以前者为例说明。请自行在网上搜索和下载软件。许多朋友需要用到提高流量或点击率,比如:提高自己博客访问量,小说访问量,视频点击率,论坛帖子点击率等。这样就可以提高自己的排名或在网…

    2022年4月13日
    139

发表回复

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

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