Javaweb开发了解前端知识五、xml文档与dom4j解析技术

JavaWeb系列四: XML 和 DOM4J xml学习 阅读详情

1、xml

1. 文档声明

2. xml属性

3. 元素(标签)

5. 文本区域(CDATA区)

xml是可扩展的标记性语言。



1. 文档声明

<?xml version="1.0" encoding="UTF-8"?> xml声明。

<!-- xml声明 version是版本的意思   encoding是编码  -->

而且这个<?xml 要连在一起写,否则会有报错

 

属性

version 是版本号

encoding 是xml的文件编码

standalone="yes/no"     表示这个xml文件是否是独立的xml文件


<?xml version="1.0" encoding="UTF-8"?>
<!-- xml声明 version是版本的意思   encoding是编码  -->
<books> <!-- 这是xml注释 -->
	<book id="SN123123413241"> <!-- book标签描述一本图书   id属性描述 的是图书 的编号  -->
		<name>java编程思想</name> <!-- name标签描述 的是图书 的信息 -->
		<author>华仔</author>		<!-- author单词是作者的意思 ,描述图书作者 -->
		<price>9.9</price>		<!-- price单词是价格,描述的是图书 的价格 -->
	</book>
	<book id="SN12341235123">	<!-- book标签描述一本图书   id属性描述 的是图书 的编号  -->
		<name>葵花宝典</name>	<!-- name标签描述 的是图书 的信息 -->
		<author>班长</author>	<!-- author单词是作者的意思 ,描述图书作者 -->
		<price>5.5</price>	<!-- price单词是价格,描述的是图书 的价格 -->
	</book>
</books>

2. xml属性

xml的标签属性和html 的标签属性是非常类似的,属性可以提供元素的额外信息

 

在标签上可以书写属性:

一个标签上可以书写多个属性。每个属性的值必须使用 引号 引起来。

的规则和标签的书写规则一致。

属性必须使用引号引起来,不引会报错示例代码


3. 元素(标签)

先回忆一下前面的html:

html标签:

  • 格式:<标签名>封装的数据</标签名>
  • 单标签: <标签名 />    <br /> 换行 <hr />水平线
  • 双标签 <标签名>封装的数据</标签名>
  • 标签名大小写不敏感
  • 标签有属性,有基本属性和事件属性
  • 标签要闭合(不闭合 ,html中不报错。但我们要养成良好的书写习惯。闭合)

 

1)什么是xml元素


元素是指从开始标签到结束标签的内容。

例如:<title>java编程思想</title>

 

元素  我们可以简单的理解为是  标签。

Element 翻译 元素

 

2)XML 命名规则

XML 元素必须遵循以下命名规则:

2.1)名称可以含字母、数字以及其他的字符

 

例如:<book id="SN213412341"> <!-- 描述一本书 -->

<author>班导</author> <!-- 描述书的作者信息 -->

<name>java编程思想</name> <!-- 书名 -->

<price>9.9</price> <!-- 价格 -->

</book>

 

2.2)名称不能以数字或者标点符号开始

2.3)这里有一点在文档中说明名称不能以字符 “xml”(或者 XML、Xml)开始,但是都试了一下,它是可以的

2.4)名称不能包含空格

3)xml中的元素(标签)也 分成 单标签和双标签:

单标签

格式: <标签名 属性=”值”  属性=”值” ......  />

双标签

格式:< 标签名  属性=”值”  属性=”值” ......>文本数据或子标签</标签名>

4. xml注释

html 和 XML 注释 一样 : <!--  html 注释  -->

5. 文本区域(CDATA区)

CDATA 格式:

<![CDATA[ 这里可以把你输入的字符原样显示,不会解析xml ]]>


语法规则:

  • 所有 XML 元素都须有关闭标签(也就是闭合)
  • XML 标签对大小写敏感
  • XML 必须正确地嵌套
  • XML 文档必须有根元素
  • XML 的属性值须加引号


 

2、xml解析技术介绍

xml可扩展的标记语言。

不管是html文件还是xml文件它们都是标记型文档,都可以使用w3c组织制定的dom技术来解析。


document对象表示的是整个文档(可以是html文档,也可以是xml文档)

 

早期JDK为我们提供了两种xml解析技术Dom和Sax简介(已经过时,但我们需要知道这么个东西)


dom解析技术是W3C组织制定的,而所有的编程语言都对这个解析技术使用了自己语言的特点进行实现。

Java对dom技术解析标记也做了实现。

 

sun公司在JDK5版本对 dom解析技术进行升级:SAX( Simple API for XML )

SAX解析,它跟W3C制定的解析不太一样。它是以类似事件机制通过回调告诉用户当前正在解析的内容。

它是一行一行的读取xml文件进行解析的。不会创建大量的dom对象。

所以它在解析xml的时候,在内存的使用上。和性能上。都优于Dom解析。

 

第三方的解析:

jdom 在dom基础上进行了封装 、

dom4j 又对jdom 进行了封装。

pull 主要用在Android 手机开发,是在跟sax非常类似都是事件机制解析xml文件。

 

这个Dom4j 它是第三方的解析技术。我们需要使用第三方给我们提供好的类库才可以解析xml文件。


3、dom4j解析技术

 

由于dom4j 它不是sun公司的技术,而属于第三方公司的技术,我们需要使用dom4j 就需要到dom4j官网下载dom4j的jar包。当然在最后我还给出jar包,不用到官网这么麻烦了,里面还包括第三方的学习文档(docs)

dom4j 编程步骤:

第一步: 先加载xml文件创建Document对象

第二步:通过Document对象拿到根元素对象

第三步:通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象

第四步:找到你想要修改、删除的子元素,进行相应在的操作

第五步,保存到硬盘上

获取document对象

需要解析的books.xml文件内容 


<?xml version="1.0" encoding="UTF-8"?>
<books>
	<book sn="SN12341232">
		<name>辟邪剑谱</name>
		<price>9.9</price>
		<author>班主任</author>
	</book>
	<book sn="SN12341231">
		<name>葵花宝典</name>
		<price>99.99</price>
		<author>班长</author>
	</book>
</books>

遍历 标签 获取所有标签中的内容

/*
	 * 读取xml文件中的内容
	 */
	@Test
	public void readXML() throws DocumentException {
//		需要分四步操作:
//			第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
//			第二步,通过Document对象。拿到XML的根元素对象
//			第三步,通过根元素对象。获取所有的book 标签对象
//			第四小,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,再通过getText() 方法拿到起始标签和结束标签之间的文本内容
		
//		第一步,通过创建SAXReader对象。来读取xml文件,获取Document对象
		SAXReader reader = new SAXReader();
		Document document = reader.read("src/books.xml");
		// 第二步,通过Document对象。拿到XML的根元素对象
		Element root = document.getRootElement();
		// 打印测试
		// Element.asXML() 它将当前元素转换成为String对象
		// System.out.println( root.asXML() );
//		第三步,通过根元素对象。获取所有的book 标签对象
		// Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
		List<Element> books = root.elements("book"); 
//		第四步,遍历每个book标签对象。然后获取到book标签对象内的每一个元素,
		for (Element book : books) {
			// 测试
			// System.out.println(book.asXML());
			// 拿到book下面的name元素对象
			Element nameElement = book.element("name");
			// 拿到book下面的price元素对象
			Element priceElement = book.element("price");
			// 拿到book下面的author元素对象
			Element authorElement = book.element("author");
			// 再通过getText() 方法拿到起始标签和结束标签之间的文本内容
			System.out.println("书名" + nameElement.getText() + " , 价格:" 
					+ priceElement.getText() + ", 作者:" + authorElement.getText());
		}
    }

打印内容:


dom4j-1.6.1:https://download.youkuaiyun.com/download/mxcsdn/10455422

Javaweb开发了解前端知识四、Jquery(二)



JavaWeb核心开发技术详解:Dom4j解析、Schema约束与Tomcat结构实战 JavaWeb 技术作为企业级 Web 开发的重要基石,起源于上世纪 90 年代末,旨在通过 Java 平台实现动态网页与服务端逻辑的开发。其核心组件包括 Servlet、JSP、XML 以及 Web 容器(如 Tomcat),构成了服务端处理 HTTP 请求、生成动态内容、管理配置与数据交换的基础体系。在现代软件架构中,JavaWeb 应用广泛部署于 MVC 架构、微服务、前后端分离系统中,是构建可扩展、高并发、安全可靠的 Web 系统的关键技术栈。 阅读详情

相关推荐

别再只接个放大器了!压电传感器测量电路(电压/电荷放大器)的5个实战配置要点

本文深入解析压电传感器测量电路中的5个关键实战配置要点,包括电缆长度选择、输入阻抗匹配、过载保护设计、低频噪声抑制及放大器选型策略。特别针对电压放大器和电荷放大器的应用场景差异提供工程实践建议,帮助工程师有效解决信号失真、噪声干扰等常见问题,提升测量精度和系统可靠性。

weixin_26869081的博客 301

XML

1. XML 1. 概念 2. 语法 3. 解析 XML: 1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签...

喜欢藏风里 419

智能工厂四大系统协同实战:ERP/PLM/MES/WMS集成架构与数据流解析

本文深入解析了智能工厂中ERP、PLM、MES、WMS四大核心系统的协同集成架构与数据流。通过实战案例,阐述了如何打通系统孤岛,实现从产品设计、资源计划、生产执行到仓储物流的数据无缝流转,从而构建高效、敏捷的智能工厂运营体系。

ujm567890的博客 674

Java对象和XML相互转换

最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由。但是项目中封装的代码总是很庞大,因为要考虑太多的东西,而对于此,我只能通过小的Demo来说明,其实在项目中用到很多插件,轻巧,灵便,封装很好使用,但这里我讲解的是JAXB(JavaArchitect...

美好的未来在于把握今天 7万+

Emuelec系统安装全流程:超详细版指南(从零开始)

手把手带你完成emuelec系统的完整安装,从基础准备到系统配置一步不落,适合新手入门。深入解析emuelec在各类设备上的部署技巧,让复古游戏体验更流畅。

weixin_42594419的博客 1967

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1447

java day36【XML概念 、语法 、解析】

第一章 XML 1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法...

weixin_30590285的博客 213

语言 拉丁超立方抽样_医学统计与R语言:间断时间序列分析(Interrupted time series regression)...

微信公众号:医学统计与R语言如果你觉得对你有帮助,欢迎转发Interrupted time series (ITS) analysis is a valuable study design for evaluating the effectiveness of population-level health interventions that have been implemented...

weixin_29300805的博客 3706

根据xml模板导出java对象

需求 前端页面添加一个导出xml按钮,实现选中数据按给定xml模板导出数据 模板样图 导出结果样图 前端代码 <a-button type="primary" icon="download" @click="handleExportXml('title')">导出Xml</a-button> <script> export default { url: { exportXmlUrl: "/./exportX..

qq_40923835的博客 714

基于SOLIDWORKS API的工业级插件开发指南

SOLIDWORKS API是基于COM技术的一套开发接口,支持C#、VB.NET等语言,用于自动化建模、属性管理、界面定制等功能。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 2744

OpenClaw人人养虾:发现与传输

客户端需要先"发现"Gateway 的地址和端口,才能建立连接。OpenClaw 支持多种发现(Discovery)和传输(Transport)机制。

王国平的博客 572

java 与前端 交互xml 和json

一般后台代码和前端进行交互的都是xml 和json 格式数据: 先来举例说明一下如何通过xml 和前端页面交互数据: 例子:做一个省市联动效果: 首先的引入jar: xstream-1.3.1.jar 下面可以开始工作了: 定义连个javabean实体: City类: //这是给类取个别名 @XStreamAlias("City") public class Cit

dsp_daiyujie的专栏 1487

高通SDX12:ProSLIC Si32185移植调试

高通 SDX12 语音芯片slic 音频驱动 Si32185

不秃头的程序猿Gabriel的博客 2036

【JavaWeb】XML的理解与Dom4j解析技术的使用

本文介绍了xml的用处,并对语法和细节进行了讲解。同时,使用Dom4j解析技术,演示了如何使用dom4j读取xml文件获取Document对象。

黄小黄的博客 732

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

深入浅出:使用DOM4J结合XPath高效解析XML

当将数据存储在XML后,我们就希望通过程序获取XML的内容。我们使用Java基础所学的IO知识是可以完成的,不过需要非常繁琐的操作才可以完成,且开发中会遇到不同问题(只读、读写)。人们为不同问题提供不同的解析方式,使用不同的解析器进行解析,方便开发人员操作XML。

2301_80237574的博客 1642

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一起复习:请求、响应、JavaWeb核心概念等知识

本篇可以学习到JavaWeb的核心概念、请求和响应之间的关系、xml的使用和解析等等,非常适合web新手的学习以及后期的知识巩固!

知识记录 5928

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

XML 解析技术:DOM4j

Dom4j 是一个简单、灵活的开放源代码的库(用于解析/处理 XML 文件)。Dom4j 是由早期开发 JDOM 的人分离出来而后独立开发的。与 JDOM 不同的是,dom4j 使用接口和抽象基类,虽然 Dom4j 的 API 相对要复杂一些,但它提供了比 JDOM 更好的灵活性。

Baridhu的博客 2446

XML 的解析技术 Dom4j

本文介绍了 XML 的解析技术(Dom4j)的相关内容。。。

Regino的博客 631

【Javaweb05】 XML探秘:解码数据的哲学,构建跨界的沟通桥梁

在数据交换和配置文件领域,XML(可扩展标记语言)一直占据着重要地位。本文将带您了解XML的基本概念、语法规则、应用场景以及如何在编程语言中操作XML,学习一个新技术时,总离不开两个问题,为什么学习这个技术,又能解决什么问题。🌍一.XML简介❄️1.为什么需要 XML1.需求 1 : 两个程序间进行数据通信?2.需求 2 : 给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端口号、还有连接数据库的用户名和密码。

qq_74232707的博客 2244

尚硅谷全新JavaWeb教程,企业主流javaweb技术栈【学习笔记】二

1.创建SAXReader对象2.解析XML获取Document对象:需要传入要解析的XML文件的字节输入流3.获取文档的根标签4.获取标签的子标签//获取所有子标签//获取指定标签名的子标签ListsonElementList = rootElement.elements("标签名");

qq_43668996的博客 3528

JavaWeb学习-XML系列-4-XML之DOM4J解析

来学习XML文件的解析,不管是度还是写xml文件,第一件事情就是先解析。例如,我们看到很多配置文件是xml,里面有key和value,对应的程序代码就需要去解析xml文件,拿到用户修改的值去更改软件的设置。早期的网站,数据传输很多都是采用xml文件,例如用户请求一个接口,接口返回来就是xml内容,在发相应内容给前端之前,代码是需要解析xml并往里面写入请求之后的数据。 XML解析思想 XML常...

Anthony_tester的博客 590

【JavaWeb】一文让你理解XML文档

JavaWeb基础之XML与反射一、XML介绍1.什么是XML2.XML和HTML之间的差异3.XML的用途4.XML的常见应用5.XML语法二、DTD约束 一、XML介绍 1.什么是XML XML全称为Extensible Markup Language,意思是可拓展的标记语言。 XML语法上和HTML比较相似,但HMTL中的元素是固定的,而XML的标签是可以由用户自定义的。 XML的设计宗旨...

张景的博客 620

【JavaWeb】JavaWeb入门之XML详解

students>可以看作是XML文档的说明最简单的xml文档声明:

2302_78914800的博客 1805

JavaWeb开发 详解XML

JavaWeb开发 详解XML1.XML简介2.XML语法2.1 文档说明2.2 xml中的元素(标签)2.2.1 xml中元素的理解2.2.2 XML中的命名规则 1.XML简介 XML是可扩展(所谓可扩展就是程序员自己可以定义)的标记性语言。 XML的主要作用如下: 1.用来保存数据。而且这些数据具有自我描述性。 2.它还可以作为项目或者模块的配置文件。 3.还可以作为网络传输数据的格式。(现在以JSON为主)。 2.XML语法 2.1 文档说明 xml可以用来保存数据。

qq_41537102的博客 515

使用Dom4j解析XML文档

使用Dom4j解析XML文档 Dmo4j是什么? ​ dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的,dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点. 使用Dom4j解析xml文件的原理 ​ DOM 将整个XML文档加载到内存,生成一个DOM树,并获得一个Document对象,通过Document对象就可以对DOM进行操作. 结构模型 代码 <?xml version="1.0" encoding="UTF-8"?&g

qq_1243443888的博客 259

JavaWeb中xml 解析技术

1、概念:操作xml文档,将文档中的数据读取到内存中 xml 可扩展的标记语言。 不管是 html 文件还是 xml 文件它们都是标记型文档,都可以使用 w3c 组织制定的 dom 技术来解析 操作xml文档 1.解析(读取):将文档中的数据读取到内存中 2.写入: 将内存中的数据保存到xml文档中。持久化的存储 2、 解析xml的方式: 1.DOM: 将标记语言文档一次性加载进内存,在内存中形成一颗dom树 优点:操作方便,可以对文档进行CRUD的所操作 缺点:占内存 2.SAX: 逐行读取,基于事

qq_45554909的博客 295
上一篇: Javaweb开发了解前端知识四、Jquery(二)
下一篇: Javaweb开发了解前端知识六、Tomcat
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值