Dom4j解析xml内容——(三)
Dom4j取标签中的内容用 getText ,取开始标签和结束标签之间的值。
取属性值有两种方式:
Jar包:
XML原型:
<?xml version="1.0" encoding="utf-8"?> <书架> <书> <书名>Java高级</书名> <作者>武陟县</作者> <价格>200元</价格> </书> <书> <书名 name="xxxxxxxxxxx">Java中级</书名> <作者>打火机</作者> <价格>2000元</价格> </书> </书架>
Java类
1 package Dom4j_XMLParser; 2 3 import java.io.File; 4 5 import org.dom4j.Attribute; 6 import org.dom4j.Document; 7 import org.dom4j.DocumentException; 8 import org.dom4j.Element; 9 import org.dom4j.io.SAXReader; 10 import org.junit.Test; 11 12 public class Demo1 { 13 14 // 获取第二本书的书名 15 @Test 16 public void test1() throws Exception { 17 // 创建SAX读取器 18 SAXReader reader = new SAXReader(); 19 // 加载文档 20 Document document = reader.read(new File("src/book.xml")); 21 // 获取根节点(书架) 22 Element root = document.getRootElement(); 23 // 获取根节点下的书节点,带s返回一个数组,再取数组的第二个 24 Element book = (Element) root.elements("书").get(1); 25 // 获取树下面的书名属性 26 Element shuming = book.element("书名"); 27 // 获取书名开始标签与结束标签之间的值 28 String value = shuming.getText(); 29 System.out.println(value); 30 31 } 32 33 34 // 获取第二本书的书名中的属性 <书名 name="xxxxxxxxxxx">Java中级</书名> 35 @Test 36 public void test2() throws Exception { 37 SAXReader reader = new SAXReader(); 38 Document document = reader.read(new File("src/book.xml")); 39 Element root = document.getRootElement(); 40 41 Element book = (Element) root.elements("书").get(1); 42 Element shuming = book.element("书名"); 43 44 // 第一中方法 45 // 获取name属性 46 Attribute attribute = shuming.attribute("name"); 47 // 获取name属性的值 48 String attrValue = attribute.getValue(); 49 // 获取书名开始标签与结束标签之间的值 50 System.out.println(attrValue); //xxxxxxxxx 51 52 // 第二种方法(获取书名节点的name属性的值) 53 System.out.println(shuming.attributeValue("name")); //xxxxxxxx 54 55 } 56 }
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了