简单说明:
XML文档声明
声明XML文档时有3个属性:version属性、encoding属性和standalone属性。
1. version属性
目前XML规范有两个版本:1.0和1.1版本。
<?xml version="1.0"?> 或者 <?xml version="1.1"?>这两个版本的规范标准几乎是一样的,只是给元素命名时,会对某些Unicode字符采取不同的处理方法。如果确实需要使用XML1.1规范,那么必须确保所使用的XML解析器支持1.1版本。另外,当需要与其他用户交换XML文档时,必须确保对方的解析器也支持XML1.1版本,否则会引起操作性问题。
2. encoding属性
XML文档中通过声明encoding属性可以告诉解析器文档所采用的编码方式。如果文档没有说明编码,则会使用默认的UTF-8或UTF-16,因此解析器必须支持这两种编码格式。
3. standalone属性
4. 注意事项
- XML声明必须从“<?xml>”开始,到“?>”为结束
- 声明语句里必须包含version属性,但是encoding属性和standalone属性是可选的
- version、encoding和standalone三个属性必须按上述排序
- version属性值必须是1.0或是1.1
- XML声明必须放在文档的开头,前面不能有空行或空格。关于这一点,有些解析器不会那么严格
XML元素概述
元素概念
<?xml version="1.0" encoding="UTF-8"?> <name nickname="Tom Bill"> <firstname>Tom</first> <middlename /> <lastname>Bill</lastname> </name>如上例中的<firstname>是一个开始标记,</firstname>是一个结束标记,<firstname>Tom</first>则表示一个元素。
元素命名
元素之间可以进行嵌套,并且一个XML文档中必须只要一个根元素。实际上,即使文档没有任何内容,它也必须亚由一个根元素。
无论是给元素命名还是为标记命名,都要遵守以下规则:
- 名称第一个字母必须是英文或是下划线
- 其他字符可以是数字、连字符“-”和句点
- 名字中不能有空格
- 名称的大小写敏感
- 元素名可以是中文。但是在不支持中文的环境中将不能够解释包含中文字符的XML文档,所以应进项选择有意义的英文名称表示
属性概念
属性是采用name/value的形式说明元素的特征,它们插入到开始标记里,但是不允许插入到结束标记里。如果属性值中要使用单引号或尖括号时,就必须使用字符和实体引用。属性值使用单括号括起来,单引号和双引号都可以。如上例中的nickname=“Tom Bill”
XML标记使用字符的5种内置实体:
实体 | 实体引用 | 含义 |
lt | < | < |
gt | > | > |
amp | & | & |
apos | ' | ' |
quot | " | " |
XML命名空间
自定义命名空间
xmlns:prefix="URI"
- xmlns:定义命名空间的关键字
- perfix:命名空间前缀属性
- URI:用来标识抽象或物理资源的紧凑字符串,大多数情况下,URI引用用来标识物理资源
<pers:person xmlns:pers="http://www.wiley.ers" />这里的前缀pers没有任何含义,唯一的作用只是一个代表命名空间的名称,可以使用其他任何的前缀代替它,而且文档的意义完全一样。
默认的命名空间
一个默认的命名空间很像一个普通的命名空间,只要不需要在这个命名空间的所有元素前面再添加前缀。如下所示:
<person xmlns="http://www.wiley.com/pers"> <name>tom</name> </person>可以在一个元素声明多个命名空间,但是其中只有一个是默认的命名空间。如下所示: