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


相关推荐

  • 双机热备解决方案(mysql双机热备方案)

    数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。另一种方式是通过纯软件的方式,一般称为镜像的方式…

    2022年4月17日
    51
  • Java线上问题排查神器Arthas快速上手与原理浅谈

    Java线上问题排查神器Arthas快速上手与原理浅谈前言当你兴冲冲地开始运行自己的Java项目时,你是否遇到过如下问题:程序在稳定运行了,可是实现的功能点了没反应。为了修复Bug而上线的新版本,上线后发现Bug依然在,却想不通哪里有问题?想到可能出现问题的地方,却发现那里没打日志,没法在运行中看到问题,只能加了日志输出重新打包——部署——上线程序功能正常了,可是为啥响应时间这么慢,在哪里出现了问题?程序不但稳定运行,而且功能完美,但…

    2025年5月24日
    0
  • pycharm安装pytorch「建议收藏」

    pycharm安装pytorch「建议收藏」1、pycharm终端安装(一)①按照file、setting、project、pythoninterpreter找到解释器,如果有多个python版本,先选择想要的python版本(python2、python3);②点+,安装pytorch包测试是否安装成功2、pycharm终端安装(二)https://zhuanlan.zhihu.com/p/144544172在pycharm的命令行里用pip安装:pipinstalltorch===1.2.0torchvision===

    2022年8月25日
    3
  • 【Away3D】初步认识[通俗易懂]

    【Away3D】初步认识[通俗易懂]1packagezen.funny2{3importcom.greensock.TweenLite;45importflash.display.Sprite;6import

    2022年7月2日
    29
  • SVM SMO算法代码详细剖析

    SVM SMO算法代码详细剖析算法实现一:本文要结合SVM理论部分来看即笔者另一篇https://blog.csdn.net/weixin_42001089/article/details/83276714二:有了理论部分下面就是直接代码啦,本文用四部分进行介绍:最简版的SMO,改进版plattSMO,核函数,sklearn库的SVM,四部分以%%%%%%%分开,采取的顺序是先给代码及结果,然后分析三:这里代码大…

    2022年6月17日
    32
  • 东软始业教育内容提纲(2020)(后附题目)

    东软始业教育内容提纲(2020)(后附题目)东软始业教育内容提纲(后附题目)——2012年8月修正版写在前面:至各位兄弟姐妹,希望大家都能顺利通过!有些题目略微有些变动,总体内容不变。后面的题目绝大多数都在列了,剩余的注意搜索关键字,在前面提纲部分一定有!在百度上搜索一次只能搜索三页,建议大家先下载下来,准备好再开始考试,这样可以全篇搜索。40分的极致不是我的追求,38分这个绝对可以有!1)

    2022年5月10日
    43

发表回复

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

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