XML学习

269 阅读2分钟

XML是什么

  1. XML 全称 eXtensible Markup Language,所以XML是一种标记语言,类似于HTML。
  2. 使用XML书写的XML文件作为一种独立于软件与硬件的存储和传输数据工具。
  3. XML被设计成自描述的

XML与HTML的区别

  1. XML的设计初衷是承载数据,聚焦于数据是什么
  2. HTML的设计初衷是显示数据,聚焦于数据的展现
  3. XML的标签不是像HTML一样预定义的

XML的用途

  1. XML 用于web开发的诸多方面
  2. 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"