XML是什么
- XML 全称 eXtensible Markup Language,所以XML是一种标记语言,类似于HTML。
- 使用XML书写的XML文件作为一种独立于软件与硬件的存储和传输数据工具。
- XML被设计成自描述的
XML与HTML的区别
- XML的设计初衷是承载数据,聚焦于数据是什么
- HTML的设计初衷是显示数据,聚焦于数据的展现
- XML的标签不是像HTML一样预定义的
XML的用途
- XML 用于web开发的诸多方面
- XML 经常用于从表现层分离数据 – 因为XML不携带任何关于显示的信息,所以XML 数据可以用在许多不同的展示场景,达到了数据和表现的完全分离
XML 结构树
XML文档会形成一个树结构,每个XML文档有一个根节点Root Element,根节点有其子节点,
子节点Element还可能会有下一层子节点,每个节点还会有自己的属性Attribute
XML 语法规则
- XML文档必须有个根元素 root element
- XML Prolog XML文档开端:
<?xml version="1.0" encoding="UTF-8" ?>
- XML prolog是可选的,即可以没有,但是如果存在则必须出现在第一行
UTF-8 是默认的编码格式
- 所有的XML元素必须有闭合标签,如<p> </p>,必须成对出现,或者是自闭合<br />
- XML 标签是大小写敏感的
- XML元素必须正确嵌套
- XML属性值必须用引号修饰
- 特殊字符入 < > 需要用entity reference: <来表示
- XML注释与HTML相同,格式为:<!– This is a comment –>
- XML 换行为LF,即\n
- 空元素的表示法: <element></element> 或者 <element /> (这里注意斜线前的空格)
XML Namespaces
命名空间的目的是防止元素名冲突
方式就是为相同的元素名添加不同的前缀,格式如: h:, p:
使用前缀的前提是一个命名空间被定义在这个元素的start tag的xmlns属性,
语法为 xmlns:prefix=“URI”
命名空间定义也可以被定义在Root Element中,这个在Spring XML配置文件中经常出现
默认命名空间可以省略前缀,定义格式为 xmlns=“URI”
XML Validator
DTD – The original Document Type Definition
XML Schema – An XML-based alternative to DTD
XML DTD
一般在XML文档的prolog之后
<!DOCTYPE note SYSTEM “Note.dtd”>
XML Schema
Note.xsd
//一般在根元素的属性里面
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd"