javaee dom4j读取xml文件

引入jar包
dom4j-1.6.1.jar
创建xml文件
<?xml version="1.0" encoding="UTF-8"?>
<books><book id="1"><title ID="t1">背影</title><price>88</price><author>三毛</author></book><book id="2"><title>天龙八部</title><price>99</price><author>金庸</author></book><book id="3"><title>鹿鼎记</title><price>108</price><author>金庸</author></book>
</books>
创建java文件
package com.test.xml;import java.io.InputStream;
import java.util.List;import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class ReadXml {public static void main(String[] args) {// TODO Auto-generated method stub//1.获得xml文件的流对象(输入流)InputStream iStream= ReadXml.class.getResourceAsStream("/Books.xml");//2.创建SAXReader解析器,读取xml文件到dom文档树对象中SAXReader saxReader=new SAXReader();try {Document document= saxReader.read(iStream);//3.读取dom树中的节点//1)获得跟节点Element root= document.getRootElement();//返回节点的名称System.out.println(root.getName());List<Element> bookElements= root.elements();for(Element book:bookElements){System.out.println(book.getName());//根据节点的名称找孩子节点Element title=book.element("title"); System.out.println(title.getText()); //获得节点的内容//根据属性的名称找到属性Attribute attribute= book.attribute("id");//输出属性的值System.out.println(attribute.getText());//输出属性的值方式2System.out.println(book.attributeValue("id"));}Element title=document.elementByID("t1");// id属性名是大写System.out.println(title.getText());} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
运行

相关文章:
javaee dom4j读取xml文件
引入jar包 dom4j-1.6.1.jar 创建xml文件 <?xml version"1.0" encoding"UTF-8"?> <books><book id"1"><title ID"t1">背影</title><price>88</price><author>三毛</author>…...
各类背包问题
1、0-1背包问题 (1)用二维数组动态规划 #include<bits/stdc.h> using namespace std; int m,n; int w[50],c[50]; int dp[210][210]; int main() {cin>>m>>n;for(int i1;i<n;i){cin>>w[i]>>c[i];}for(int i1;i<n;…...
《练习100》91~95
题目91 # 自动生成字符串 # a [小马,小羊,小鹿] # b [草地上,电影院,家里] # c [看电影,听音乐,吃晚饭] # 随机生成三个0~2的数字,若是1,0,2 ,则输出: 小羊在草地上吃晚饭 import random a [小马,小羊,小鹿] b […...
3.6 Spring MVC文件上传
1. 文件上传到本地 实现方式 Spring MVC使用commons-fileupload实现文件上传,注意事项如下: l HTTP请求方法是POST。 l HTTP请求头的Content-Type是multipart/form-data。 SpringMVC配置 配置commons-fileupload插件的文件上传解析器CommonsMultip…...
# X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系
X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系 很多人对于他们是啥是傻傻分不清的,我做了个表格供大家参考。 摘抄: X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通…...
rknn3588如何查看npu使用情况
cat /sys/kernel/debug/rknpu/load在Linux中,你可以使用一些工具和命令来绘制某一进程的实时内存折线图。一个常用的工具是gnuplot,它可以用来绘制各种图表,包括折线图。 首先,你需要收集进程的实时内存数据。你可以使用pidstat命…...
“Can‘t open perl script configure : No such file or directory”的解决办法
编译OpenSSL的时候执行到 perl configure 时提示找不到configure, 然后在网上搜了搜,大家给的解决办法一般都是说设置环境变量或者指定configure路径再执行;我试了都不行, 最后我把perl卸了重装就正常了; 然后我换了…...
ChatGLM2-6B在windows下的部署
2023-08-10 ChatGLM2-6B在windows下的部署 一、部署环境 1、Windows 10 专业版, 64位,版本号:22H2,内存:32GB 2、已安装CUDA11.3 3、已安装Anaconda3 64bit版本 4、有显卡NVIDIA GeForce RTX 3060 Laptop GPU …...
nodejs+vue+elementui学生档案信息管理系统_06bg9
利用计算机网络的便利,开发一套基于nodejs的大学生信息管理系统,将会给人们的生活带来更多的便利,而且在经济效益上,也会有很大的便利!这可以节省大量的时间和金钱。学生信息管理系统是学校不可缺少的一个环节,其内容直…...
Nginx location
location块是nginx配置文件中,配置在http块中的server块中,匹配的是uri location匹配uri的方式 : 精确匹配: location /[ ...} 正则匹配: location - /{ ...} 一般匹配: location /{ ....} 匹配的规则: :精确匹…...
数据库字段命名导致的SQL报错
1.表设计 create table variables (id bigint not null comment 主键,business_key varchar(128) null comment 业务key,key varchar(128) null comment Map中的key,value varchar(255) null comment…...
【办公自动化】使用Python一键提取PDF中的表格到Excel
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
【基础类】—原型链系统性知识
一、创建对象有几种方法 字面量创建对象 1-1. 什么是字面量 字面量就是所见即所,指的是常量;用来为变量赋值时的常数量 代码例子:123;‘ABC’, {name: ‘张三’}, undefined , true 生活例子:门店的招牌&a…...
ddia(3)----Chapter3. Storage and Retrieval
However, first we’ll start this chapter by talking about storage engines that are used in the kinds of databases that you’re probably familiar with: traditional relational databases, and also most so-called NoSQL databases. We will examine two families o…...
SpringBoot自定义拦截器interceptor使用详解
Spring Boot拦截器Intercepter详解 Intercepter是由Spring提供的Intercepter拦截器,主要应用在日志记录、权限校验等安全管理方便。 使用过程 1.创建自定义拦截器,实现HandlerInterceptor接口,并按照要求重写指定方法 HandlerInterceptor接口源码&am…...
AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧
抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。 安装插件 作为一个生成式AI,SD…...
gitlab-Runner搭建
root wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm rpm -ivh download.rpm ---- 安装 rpm -Uvh download.rpm -----更新升级 然后运行: gitlab-runner register --url https://git…...
【ChatGPT 指令大全】销售怎么借力ChatGPT提高效率
目录 销售演说 电话销售 产出潜在客户清单 销售领域计划 销售培训计划 总结 随着人工智能技术的不断进步,我们现在有机会利用ChatGPT这样的智能助手来改进我们的销售工作。在接下来的时间里,我将为大家介绍如何运用ChatGPT提高销售效率并取得更好的…...
【Spring】-Spring项目的创建
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:创建spring项目的步骤:先创建一个maven项目,再在pom.xml中添加spring框架支持,最后写一个启动类。 文章目…...
C++ 学习杂记06:std::unordered_map
概述std::unordered_map是C标准模板库(STL)中的一个关联容器,实现基于哈希表的键值对映射。自C11起成为标准库的一部分,位于 <unordered_map>头文件中。核心特性数据结构基于哈希表:使用散列函数将键映射到存储桶…...
从‘非黑即白’到‘亦此亦彼’:用Python实现FCM模糊聚类,并可视化每一步迭代过程
模糊聚类的艺术:用Python动态解析FCM算法的迭代之美 第一次接触模糊C均值聚类时,我被它优雅地处理"灰色地带"的能力所震撼——与K均值等硬聚类不同,FCM允许数据点同时属于多个类别,只是程度不同。这种思维方式更贴近现实…...
Go语言BitTorrent库BitFun:轻量级P2P下载集成与实战指南
1. 项目概述与核心价值最近在折腾一些个人项目,想找一个轻量级的、能快速上手的BitTorrent客户端,最好是能直接集成到自己的应用里,而不是去调用那些动辄几百兆的第三方软件。找了一圈,要么是功能太臃肿,要么是接口对开…...
【国家级嵌入式系统安全白皮书援引标准】:为什么Linux内核5.20+、Zephyr 4.0、AUTOSAR R22-10已全面禁用裸指针算术?
更多请点击: https://intelliparadigm.com 第一章:现代 C 语言内存安全编码规范 2026 避坑指南 C 语言在嵌入式系统、操作系统内核与高性能服务中仍不可替代,但其原始内存模型正面临日益严峻的安全挑战。2026 年起,主流编译器&am…...
三步掌握微信聊天记录永久保存:告别数据丢失的终极指南
三步掌握微信聊天记录永久保存:告别数据丢失的终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCh…...
中文文本分段提效工具:BERT模型在新闻编辑部稿件初筛流程中的落地案例
中文文本分段提效工具:BERT模型在新闻编辑部稿件初筛流程中的落地案例 1. 项目背景与价值 在新闻编辑部的日常工作中,记者们每天都会提交大量稿件。这些稿件往往篇幅较长,缺乏清晰的结构分段,给编辑的初审工作带来很大挑战。编辑…...
从零构建生产级AI智能体:ConnectOnion框架实战指南
1. 项目概述:从零到一,构建你的第一个生产级AI智能体 如果你正在寻找一个能让你快速上手、功能强大且开箱即用的AI智能体框架,ConnectOnion 绝对值得你花时间深入了解。它不是又一个简单的LLM调用封装库,而是一个旨在解决AI智能体…...
WinUtil:终极Windows系统优化与批量软件安装工具
WinUtil:终极Windows系统优化与批量软件安装工具 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 还在为Windows系统越用越慢而烦恼…...
VSCode 2026嵌入式调试适配终极验证报告:实测23款主流MCU + 8种RTOS + 4类自定义Bootloader——仅3个已知缺陷(附临时补丁SHA256校验码)
更多请点击: https://intelliparadigm.com 第一章:VSCode 2026嵌入式调试适配终极验证报告概述 VSCode 2026 版本在嵌入式开发支持方面实现了重大架构升级,核心变化包括原生集成 Cortex-Debug v1.5、RISC-V OpenOCD 2026.03 协议栈、以及对 …...
Terraform实战进阶:从模块化到CI/CD的完整技能树构建
1. 项目概述:一个Terraform技能提升的实战宝库如果你正在使用Terraform管理云上基础设施,或者正准备踏入IaC(基础设施即代码)的世界,那么你很可能听说过Anton Babenko这个名字。作为Terraform社区的活跃贡献者和知名专…...
