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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AMC7135_sip soc

    AMC7135_sip soc7.4SiamFC学习目标 目标 知道SiamFC的网络结构特点 掌握SiamFC的网络训练方式 应用 无 任意对象跟踪的问题是通过仅仅在线地学习对象外观的模型来解决,使用视频本身作为唯一的训练数据。尽管这些方法取得了成功,但他们的在线方法本质上限制了他们可以学习的模型的丰富性。需要跟踪的目标是通过起始帧的选择框给出的。框中可能是任意物体,甚至只是物体的某个部分。由于给定跟踪目标的不确定性,我们无法做到提前准备好数据,并且训练出一个.

  • c语言大数求和_指数幂的加法

    c语言大数求和_指数幂的加法文章目录1.大数加法2.大数幂运算3.大数求余废话不多说,直接上代码了。1.大数加法stringgetCountAdd(stringa,stringb){ stringc=””; intbit=-1;//判断是否进位-1为否,其他为进位数 inti=a.length()-1;//获得a字符串长度 intj=b.length()-1;//获得b字符串长度 //第一种情况两者都处理完 while(i!=-1&&j!

  • 完整版—Android studio入门教程

    完整版—Android studio入门教程AS的安装及第一个AS中android项目的搭建前言:前段时间公司搞了个”校企合作”的项目,要求公司人员去学校对学生进行阶段性的专业培训,荣幸的我被派去当了回“老师”;哈哈,真的有点“打肿脸充胖子”的感觉;不过,也算是复习下as的安装过程吧,顺便有空了就记录下来,后面万一忘了也好查看。正文:首先需要确定好电脑是否有安装java环境:直接电脑桌面windows+R输入cmd…

  • 别踩坑!使用MySQL唯一索引请注意「建议收藏」

    别踩坑!使用MySQL唯一索引请注意「建议收藏」背景在程序设计中了,我们往往需要确保数据的唯一性,比如在常见的注册模块,我们需要确保一个手机号只能注册为一个账号。这种情况下,我们的程序往往是第一道关卡,用户来注册之前,首先判断这个手机号是否已经注册,如果已经注册则返回错误信息。但是我们不能确保同时有两个人使用同一个手机号注册到我们的系统中,因此这里就需要在更深的层次去确保手机号的唯一性了。不同存储方案,解决方式不一样,这里以MySQL为例,我…

  • Windows copy命令_dos copy命令拷贝文件夹

    Windows copy命令_dos copy命令拷贝文件夹windowscmd命令

    2022年10月24日
  • git 拉取远程分支在本地创建新分支_java获取当前登录用户信息

    git 拉取远程分支在本地创建新分支_java获取当前登录用户信息一、查看远程分支使用如下git命令查看所有远程分支:gitbranch-r二、拉取远程分支并创建本地分支方法一使用如下命令:gitcheckout-b本地分支名xorigin/远程分支名x使用该方式会在本地新建分支x,并自动切换到该本地分支x。方式二使用如下命令:gitfetchorigin远程分支名x:本地分支名x使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要

发表回复

您的电子邮箱地址不会被公开。

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