XML技术
xml:可扩展标记语言
----他们只是用不同的名称称呼同一个光源罢了,受此光源照耀的人都走在同一条道路上
- xml介绍
xml是一种可扩展标记语言,HTML是超文本标记语言,xml 语法严格,html 语法松散;xml 标签自定义,html 标签预定义
- Html和xml的前世今生
HTML 和 XML 都是 W3C(万维网联盟)制定的标准,最开始 HTML 的语法过于松散, 于是 W3C 制定了更严格的 XML 语法标准,希望能取代 HTML。
- XML现在的两个作用
配置文件:在今后的开发过程当中我们会频繁使用框架(框架:半成品软件),使用框 架时,需要写配置文件配置相关的参数,让框架满足我们的开发需求。而我们写的配置文件 中就有一种文件类型是 XML。
传输数据:在网络中传输数据时并不能传输 java 对象,所以我们需要将 JAVA 对象转 成字符串传输,其中一种方式就是将对象转为 XML 类型的字符串。
- XML文件书写语法
- 文件后缀名是.xml
- 第一行必须是文档声明<?xml version="1.0"?>
- 有且仅有一个根标签:XML 中标签名是自定义的,标签名有以下要求: 包含数字、字母、其他字符;不能以数字和标点符号开头 ;不能包含空格
- 属性值必须用引号(单双都可)引起来
- 标签必须正确关闭:如果在想保护数据需要引入CDATA区,格式为:<![CDATA[文本]]>
- 标签名区分大小写
- 约束
约束是一个文件,可以规定 xml 文档的书写规则。XML 有两种约 束文件类型:DTD(比较简单,功能一般) 和 Schema(比较复杂,功能强大,更加细致)。每种约束都有两种引入方式,一种是本地引入,一种是网络引入。
- DTD约束
本地:<!DOCTYPE 根标签名 SYSTEM "dtd 文件的位置">
网络:<!DOCTYPE 根标签名 PUBLIC "dtd 文件的位置" "dtd 文件路径">
- Schema约束
(1)写 xml 文档的根标签
(2)引入 xsi 前缀:确定 Schema 文件的版本。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
(3)引入 Schema 文件
xsi:schemaLocation="Schema 文件定义的命名空间 Schema 文件的具体 路径"
(4)为 Schema 约束的标签声明前缀,防止约束文件过多,因为元素重名产生的冲突
xmlns:前缀="Schema 文件定义的命名空间"
<?xml version="1.0" encoding="UTF-8"?> <beans
//确定Schema文件的版本 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//定义文件的命名空间
xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> </beans>
- XML解析
XML 解析即读写 XML 文档中的数据。框架的开发者通过 XML 解析读取框架使用者配 置的参数信息,开发者也可以通过 XML 解析读取网络传来的数据。
XML两种解析思想:DOM、SAX
DOM:将标记语言文档一次性加载进内存,在内存中形成一颗 dom树 ;优点:操作方便,可以对文档进行CRUD的所有操作 ;缺点:占内存
SAX:逐行读取,基于事件驱动的;优点:不占内存,一般用于手机 APP 开发中读取 XML 缺点:只能读取,不能增删改
常见的解析器:
JAXP:SUN 公司提供的解析器,支持 DOM 和 SAX 两种思想
DOM4J:一款非常优秀的解析器
Jsoup:Jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文 本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方 法来取出和操作数据
PULL:Android 操作系统内置的解析器,支持 SAX 思想
本文来自博客园,作者:(HelloWorld!),转载请注明原文链接:https://www.cnblogs.com/Simon-s/articles/15672677.html --有志者,事竟成

浙公网安备 33010602011771号