文章目录
- 结构化文档
- XML
- 1.声明 declaration
- 2.元素 element
- 3.属性 attribute
- 4.实体 —— 具有特殊含义的字符
- 5.注释
- 6.总结
结构化文档
结构化文档由标题、章节、段落等逻辑结构组成。
“结构化”听起来太抽象了,实际上结构化就是为文档建立一个框架,就象写文章先写一个提纲。结构化使你的文档看起来不会杂乱无章,每一部分都紧密联系,形成一个整体。
结构化有两个原则:
- 每一部分(每一个元素)都和其他元素有关联,关联的级数就形成了结构。
- 标识本身的含义与它描述的信息相分离。
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个预定义实体
符号 | 对应实体 |
< | <; |
> | >; |
& | &; |
* | "; |
. | &apos; |
注意在使用对应实体的时候,后面的分号;别忘记写了。
5.注释
<!--注释内容-->
注意:
1.注释内容中不要出现–;
2.不要把注释放在标签中间;
3.注释不能嵌套。
6.总结
- xml描述的是文档的内容与语义,而不是文档应当如何显示;
- 格式正规(well formed)的xml文档,需要遵循如下规则:
2.1 必须有xml声明语句;
2.2 必须有且仅有一个根元素;
2.3 标签大小写敏感;
2.4 属性值用双引号;
2.5 标签成对;
2.6 空标签关闭;
2.7 元素正确嵌套。 - 有效的(valid)xml文档。首先xml文档是个格式正规的xml文档,然后又需要满足DTD的要求,这样的xml文档称为有效的xml文档。
DTD:文档类型定义——Document Type Definition