java的XML解析(DOM4J技术)
DOM4J技术解析XML文件
一,XML简介
xml (可扩展标记语言) 全称: Extended Markup Language
可扩展的含义:允许程序员按照自己的想法去扩展新的标签
注意:但是扩展的时候,必须要遵循XML规范
二,xml的特点:
自带描述性,
可以支持跨平台,
保留了面向对象编程的层次感
三,XML文件规范例子
1 <?xml version="1.0" encoding="UTF-8"?> 2 <persons> 3 <person id="101"> 4 <name>李白</name> 5 <addrss>唐朝-长安</addrss> 6 </person> 7 <person id="102"> 8 <name>杜甫</name> 9 <addrss>唐朝-长安</addrss></person> 10 <person id="103"> 11 <name>苏轼</name> 12 <addrss>宋朝-汴梁</addrss> 13 </person> 14 </persons>
四,DOM4J技术详解
DOM4J:Dom4j是一个易用的、开源的库,用于XML、XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM、SAX和JAXP。在Java开发社区里,DOM4J的使用最为广泛。JDOM的操作非常简单,但是在处理大XML文件时性能表现不佳,解析10M文档时就会内存溢出。而DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和易于使用的特点,同时它也是一个开放源代码的软件,DOM4J使用大量的接口,这也是它被认为比JDOM灵活的原因。如今我们可以看到越来越多的Java软件都在使用DOM4J来读写XML。DOM4J的官方地址是“http://www.dom4j.org/”。
注意:DOM4J不是sun公司自己的产品,所以没有提供服务的jar包,我们可以自己下载包,里面有API(index-html),jar包等。
五,DOM4J技术解析上述XML文件详细代码
1 import java.util.Iterator; 2 import java.util.List; 3 import org.dom4j.Attribute; 4 import org.dom4j.Document; 5 import org.dom4j.Element; 6 import org.dom4j.io.SAXReader; 7 8 public class dome4j { 9 public static void main(String[] args) throws Exception { 10 //1.创建是事件解析器 11 SAXReader sr = new SAXReader(); 12 //2.读取XML文件并创建文本容器 13 Document doc = sr.read("Dom4j.xml"); 14 //3.获取XML根节点 15 Element el= doc.getRootElement(); 16 //4.遍历根节点 17 Iterator<Element> it = el.elementIterator(); 18 while(it.hasNext()){ 19 Element el2 = it.next(); 20 //5.获取根节点的属性值 21 List<Attribute> list = el2.attributes(); 22 for (Attribute a : list) { 23 String name = a.getName(); 24 String text = a.getText(); 25 System.out.println("====================="); 26 System.out.println(name+"="+text); 27 //6.通过遍历获取id对应的属性值 28 Iterator<Element> it2 = el2.elementIterator(); 29 while(it2.hasNext()){ 30 Element next = it2.next(); 31 String name2 = next.getName(); 32 String text2 = next.getText(); 33 System.out.println(name2+"="+text2); 34 } 35 } 36 } 37 } 38 }
精品java学习视频
java的多线程技术:链接:https://pan.baidu.com/s/1vSoERRP2a4sXD4Tu1NUMeg 提取码:qxfe
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了