热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Dom4J解析xml文件

一、什么是XML?XML:可扩展标记语言(EXtensible Markup Language)XML是一种标记语言,很类似HTMLXML的设计宗旨是传输数据,而非显示数据XML标

一、什么是 XML?

  • XML :可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准

二、 XML文档例子

Eclipse创建的一个XML文档内容:

 1 xml version="1.0" encoding="UTF-8"?> 
 2 <person> 
 3     <p1> 
 4         <name>zhangsanname>
 5         <age>20age>
 6     p1>
 7     <p1>
 8         <name>wangwuname>
 9         <age>29age>
10     p1>
11 person> 
zhangsan”也可以在name标签中加属性,如:zhangsan

二、 使用Dom4J解析xml文件

  DOM4J是dom4j.org出品的一个开源XML解析包,是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
  DOM4J解析XML文档的步骤如下:
    • 导入dom4j-1.6.1.jar包和jaxen-1.1-beta-7.jar包
    • 创建解析器
    • 读入XML,获取Document对象
    • 获取XML根节点
    • 遍历子节点,获取所需要的对象
 1 package com.hdl.dom4jparser;
 2 
 3 import java.util.Iterator;
 4 
 5 import org.dom4j.Document;
 6 import org.dom4j.DocumentException;
 7 import org.dom4j.Element;
 8 import org.dom4j.io.SAXReader;
 9 
10 public class Dom4jTest {
11 
12     public static void main(String[] args) {
13         try {
14             // 1、创建解析器
15             SAXReader reader = new SAXReader();
16             // 2 、读取Document对象
17             Document document = reader.read("conf/persons.xml");
18             // 3、获取根节点
19             Element root = document.getRootElement();
20             // 4、遍历子节点
21             for (Iterator eIterator = root.elementIterator(); eIterator.hasNext();) {
22                 // 获取student节点对象
23                 Element stuElement = (Element) eIterator.next();
24                 // System.out.println(stuElement.toString() + "信息如下:");
25                 for (Iterator innerIter = stuElement.elementIterator(); innerIter.hasNext();) {
26                     // 获取student子节点对象
27                     Element innerElement = (Element) innerIter.next();
28                     String innerElementValue = innerElement.getStringValue();
29                     System.out.println(innerElementValue);
30                 }
31                 System.out.println("--------------------");
32             }
33         } catch (DocumentException e) {
34             e.printStackTrace();
35         }
36 
37     }
38 
39 }

 结果:

技术图片

Dom4J解析xml文件


推荐阅读
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 本文介绍了一种支付平台异步风控系统的架构模型,旨在为开发类似系统的工程师提供参考。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
author-avatar
手机用户2502887197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有