文章目录

  • 结构化文档
  • XML
  • 1.声明 declaration
  • 2.元素 element
  • 3.属性 attribute
  • 4.实体 —— 具有特殊含义的字符
  • 5.注释
  • 6.总结


结构化文档

结构化文档由标题、章节、段落等逻辑结构组成。
“结构化”听起来太抽象了,实际上结构化就是为文档建立一个框架,就象写文章先写一个提纲。结构化使你的文档看起来不会杂乱无章,每一部分都紧密联系,形成一个整体。

结构化有两个原则:

  1. 每一部分(每一个元素)都和其他元素有关联,关联的级数就形成了结构。
  2. 标识本身的含义与它描述的信息相分离。

XML

Xml:可扩展标记语言(Extensible Markup Language)。
xml是当前处理结构化文档信息中相当给力的技术。
基本格式如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!--工程配置文件-->
<Project>
	<!--网关配置-->
	<Gateway filename="gateway.xml"/>
	<!--设备配置-->
	<Devices filename="devices.xml"/>
	<!--本地数据库文件-->
	<LocalDatabase filename="local.db"/>
</Project>

一个XML文档,必须要有第一行的“声明”和它的“文档元素”的“描述信息”。

1.声明 declaration

<?xml version="1.0" encoding="UTF-8" ?>

xml的声明一般都在第一行,由两部分组成:version + encoding。

2.元素 element

元素由三部分构成:开始标签内容结束标签
下面就是元素title的格式:

<title>XML介绍</title>
<title>——开始标签
XML介绍——内容
</title>——结束标签

元素分为“根元素”和“其他元素”,如books根元素,和book其他元素的表示如下:

<books>
	<book>C++ primer</book>
	<book>TCP/IP详解</book>
</books>

根元素位于文件的开头和结尾,并且具有唯一性;其他元素位于根元素之间,并且不受数量的限制。

另外,元素之间可以嵌套,但是嵌套的时候要注意顺序关系,不能混乱。

<title><name>我是谁</name></title>

元素也可以为空,空元素的写法有三种,其等价:

<title> </title>
<title></title>
<title/>

3.属性 attribute

用于描述元素的属性,语法如下:
<元素名 属性名=“属性值”>,其中属性值用双引号包裹
如:

<student ID="123456">
<name>XiaoMing</name>

另外,一个元素可以有多个属性,基本格式为:
<元素名 属性名=“属性值” 属性名=“属性值”>
如:

<student ID="123456" name="XiaoMing" sex="male">

4.实体 —— 具有特殊含义的字符

在xml中,一些字符拥有特殊的意义。如果把字符“<”放在xml元素中,会发生错误,这是因为解析器会把它当作新元素的开始,这样会产生xml错误,如:

<message>if salary < 1000 then</message>

为了避免这个错误,请用实体引用来代替“<”字符:

<message>if salary < 1000 then</message>

xml中5个预定义实体

符号

对应实体

<

&lt;

>

&gt;

&

&amp;

*

&quot;

.

&apos;

注意在使用对应实体的时候,后面的分号;别忘记写了。

5.注释

<!--注释内容-->

注意:
1.注释内容中不要出现–;
2.不要把注释放在标签中间;
3.注释不能嵌套。

6.总结

  1. xml描述的是文档的内容与语义,而不是文档应当如何显示;
  2. 格式正规(well formed)的xml文档,需要遵循如下规则:
    2.1 必须有xml声明语句;
    2.2 必须有且仅有一个根元素;
    2.3 标签大小写敏感;
    2.4 属性值用双引号;
    2.5 标签成对;
    2.6 空标签关闭;
    2.7 元素正确嵌套。
  3. 有效的(valid)xml文档。首先xml文档是个格式正规的xml文档,然后又需要满足DTD的要求,这样的xml文档称为有效的xml文档。

DTD:文档类型定义——Document Type Definition