Java框架开发基础-解析XML文件

本文介绍了XML的基本概念,包括XML的声明和文档结构。接着,详细阐述了四种常见的XML解析方式:DOM、SAX、JDOM和DOM4J,对比了它们的特点和适用场景。特别强调了DOM解析XML时会在内存中构建树结构,适合频繁访问,但资源消耗大;而DOM4J作为DOM的增强版,提供了更灵活的接口和强大的功能。最后,通过示例展示了如何使用DOM和DOM4J进行XML数据的读取、维护及操作。
摘要由CSDN通过智能技术生成

认识XML

|----XML编写要求:
XML声明:

1.XML声明用于指明当前文件为XML文件,文件采用的XML版本和编码.
2.<?xml version="1.0" encoding="UTF-8" ?>

XML文档:

标签要求:
	<元素名 属性名="属性值">元素内容(子元素、字符等)</元素名>
	元素的命名规则如下:
		名称中可以包含字母、数字或者其他的字符
		名称不能以数字或者标点符号开始
		名称不能以字符“xml”(或者XML、Xml)开始
		名称中不能含空格
	属性的语法规则如下:
		属性可以加在任何一个元素的起始标签上,但不能加在结束标签上
		属性值用双引号包裹
		一个元素可以有多个属性,多个属性之间用空格隔开
		属性值中不能直接包含 <、"、&
特殊字符
	1.包括 < 、> 、' 、" 、&
	2.使用预定义实体对特殊字符进行转义
特殊字符 实体名称
< &lt
> &gt
" &quot
&apos
& &amp

总结:

格式良好的XML文档需要遵循如下规则
有XML声明语句
有且仅有一个根元素
标签大小写敏感
属性值用双引号
标签成对/空标签关闭
元素正确嵌套

解析XML

目前常用的XML解析有4种:

1.DOM
DOM是基于XML树结构来完成解析的,DOM解析XML文档时,会根据读取的文档,构建一个树结构加载到内存中,因为整个XML文档时在内存中的,所以对于增加,修改,删除操作非常方便,适用于多次访问XML文档的程序。但是由于整个XML文档被加载到内存中,所以时DOM解析是比较消耗资源的。

2.SAX
SAX是基于事件解析的,它是为了解决DOM解析的资源消耗出现的。它不用事先调入整个XML文档结构,它是一边解析一边读取的,所以它的优势就是占用资源少,内存消耗小,一般在解析数据量较大的XML文档时会采用这种方式。

3.JDOM
DOM和SAX是不针对语言的,而JDOM是针对Java的特定文档模型,它简化了与XML的交互并且比使用DOM更快。

4.DOM4J
DOM4J是一个非常优秀的Java XML API ,性能优异,功能强大,同时也是一个开源库。
DOM4J用于在java平台上使用java集合框架处理XML,XPath和XSLT,并与DOM,SAX,JAXP完全集合。DOM4J大量使用接口,面向接口编程使它比JDOM更加灵活。

使用DOM读取XML数据

DOM解析XML文档原理
在这里插入图片描述
DOM解析XML文档步骤
在这里插入图片描述
使用DOM解析时常用的对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例:以DOM方式读取手机信息
手机信息.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<iPhoneInfo>
    <Brand name="华为">
        <Type name="P90">18000</Type>
    </Brand>
    <Brand name="iPhone">
        <Type name="iPhone X">5000</Type>
        <Type name="iPhone XS">7000</Type>
    </Brand>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值