0%

XML语法

  • XML 指可扩展标记语言(eXtensible Markup Language)。
  • XML 的作用:
    1. 用来保存数据,而且这些数据具有自我描述性。
    2. 它还可以作为项目或者模块的配置文件。
    3. 还可以作为网络传输数据的格式(现在以 JSON 为主)。

★★★XML

  • XML 指可扩展标记语言(eXtensible Markup Language)。
  • XML 的作用:
    1. 用来保存数据,而且这些数据具有自我描述性。
    2. 它还可以作为项目或者模块的配置文件。
    3. 还可以作为网络传输数据的格式(现在以 JSON 为主)。

1.XML语法

  • 一个简单的 XML 文件 books.xml 示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    <?xml version="1.0" encoding="UTF-8"?>
    以上内容就是xml文件的声明
    version="1.0" version表示xml的版本
    encoding="utf-8" encoding表示xml文件本身的编码
    -->
    <books> <!-- books表示多个图书信息 -->
    <book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
    <name>时间简史</name> <!-- name表示书名 -->
    <author>霍金</author> <!-- author表示作者 -->
    <price>75</price> <!-- price表示价格 -->
    </book>
    <book sn="SN112">
    <name>三体</name>
    <author>刘慈欣</author>
    <price>50</price>
    </book>
    </books>

1.1 XML声明

  • XML 声明表示这是一个 XML 文件:<?xml version="1.0" encoding="utf-8"?>

    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    <?xml version="1.0" encoding="UTF-8"?>
    以上内容就是xml文件的声明
    version="1.0" version表示xml的版本
    encoding="utf-8" encoding表示xml文件本身的编码
    -->

1.2 XML注释

  • 在 XML 中编写注释的语法与 HTML 的语法很相似:<!-- This is a comment -->

1.3 XML元素

  • XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

    元素可包含其他元素、文本或者两者的混合物。

    元素也可以拥有属性。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <books> <!-- books表示多个图书信息 -->
    <book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
    <name>时间简史</name> <!-- name表示书名 -->
    <author>霍金</author> <!-- author表示作者 -->
    <price>75</price> <!-- price表示价格 -->
    </book>
    <book sn="SN112">
    <name>三体</name>
    <author>刘慈欣</author>
    <price>50</price>
    </book>
    </books>
XML元素(/标签)命名规则
  • XML 元素必须遵循以下的命名规则:
    1. 名称可以含字母、数字以及其他的字符。
    2. 名称不能以数字或者标点符号开始。
    3. 名称不能包含空格。
    4. 可使用任何名称,没有保留的字词。

1.4 XML属性

  • xml 的标签属性和 html 的标签属性是非常类似的,属性可以提供元素的额外信息
  • 在标签上可以书写属性:一个标签上可以书写多个属性,每个属性的值必须使用引号引起来

1.5 语法规则

  1. 所有 XML 元素都须有关闭标签(也就是闭合)。
  2. XML 标签对大小写敏感。
  3. XML 必须正确地嵌套。
  4. XML 文档必须有根元素,且只能有一个
    • 根元素就是顶级元素,即没有父标签的元素,且只有唯一一个。
  5. XML 的属性值必须加引号。

1.6 文本区域 (CDATA区)

  • CDATA 语法可以告诉 XML 解析器,我 CDATA 文本里的内容,只是纯文本,不需要 XML 语法解析。例如,

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <books> <!-- books表示多个图书信息 -->
    <book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
    <name>时间简史</name> <!-- name表示书名 -->
    <author>霍金</author> <!-- author表示作者 -->
    <price>75</price> <!-- price表示价格 -->
    </book>
    <book sn="SN112">
    <name>三体</name>
    <author>刘慈欣</author>
    <price>50</price>
    </book>
    </books>

    我要在 “三体” 前面加入多个 <,一种方法是用 &lt; 来表示,还有就是可以用 CDATA 来表示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <books> <!-- books表示多个图书信息 -->
    <book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
    <name>时间简史</name> <!-- name表示书名 -->
    <author>霍金</author> <!-- author表示作者 -->
    <price>75</price> <!-- price表示价格 -->
    </book>
    <book sn="SN112">
    <name>
    <![CDATA[
    <<<<<<<<<<<<三体
    ]]>
    </name>
    <author>刘慈欣</author>
    <price>50</price>
    </book>
    </books>
---------------The End---------------