本文主要是介绍XML文档格式和XML的语法。
XML文档格式:
1.元素
XML文档内容 的基本单位。
语法格式:
<标签>文本内容</标签>
eg.
<姓名>zhanshenzhi2008</姓名>
无论文本内容多么的复杂,XML元素中还可以再嵌套别的元素,这样是相关元素构成等级机构。记住:XML是树结构 。
<employees> <employee> <name>zhanshenzhi2008</name> <salary>3100</salary> </employee> <employee> <name>lj</name> <salary>7000</salary> </employee> </employees>
除了元素,XML文档能出现的有效对象:处理指令、注释、根元素、子元素、和属性。
2.处理指令
处理指令主要是给解析器提供信息,是其能够正确解释文档内容。还可以定义文档编码方式或者把一个样式单文件应用到XML文档上用以显示。
它的起始标示符:<?
结束标示符:?>
eg.
<?xml version="1.0"?>
或者
<?xml version="1.0" encoding="ISO-8859-1"?>
3.注释
语法格式:
<!--注释内容-->
4.根元素和子元素
如果一个元素从文件头的序言部分之后开始一直到文件尾,包括了文件中所有的数据信息,我们成之为根元素,被嵌套在里面的元素就是子元素。
以上的eg.中<employee>就是<employees> 的子元素。
5.属性
属性是对元素的进一步说明,它必须出现在起始标签中。
属性是以名称/取值对出现,并且属性名不能重复。
eg.
<salary currency=''US$''>2500</salary>
currency=“US$”就是salary的属性,并且属性值并需用引号,和HTML语法(可有可无)不同。
XML的语法
XML文档的基本结构有序言部分和一个根元素组成。
序言包括XML声明和DTD(或者是XMLSchema)。
将上面的例子加上如下的序言,就构成了一个完整的XML文档
<?xml version="1.0"?> <!DOCTYPE employees SYSTEM "employees.dtd"> <employees> <employee> <name>zhanshenzhi2008</name> <salary>3100</salary> </employee> <employee> <name>lj</name> <salary>7000</salary> </employee> </employees>
XML文档定义遵循 http://www.w3.org/TR/REC-xml
1.起始标签和结束标签应当匹配:结束标签必不可少的。
2.大小写应一致:XML对字母的大小写是敏感的。<employee>和<Employee>是完全不同的两个标签。
3.元素应当正确嵌套;子元素必须嵌套在父元素中。
下面是错误的:
<A><B></A><B>
正确的是
<A><B></B></A>
4.属性值必须用引号。
5.元素的属性名不能重复。
XML的名称空间
XML文档中很可能会定义许多名字相同而意义不同的元素或属性,尤其在把不同的XML文档合二为一时,更容易产生冲突。名称空间就是为了解决这个问题而提出的。它用URI(Uniform Resource Identifier,统一资源定位符)加以区别,是在XML文件的元素和属性中出现的所有名称的集合。
XML 命名空间属性被放置于元素的开始标签之中
语法格式:
xmlns:namespace-prefix="namespaceURI"
eg.现在有两个XML文档被一起使用,两个文档都有不同内容的<table>标签,此时就会发生冲突
<table> <tr> <td>hello</td> <td>good</td> </tr> </table>
<table> <name>zhanshenzhi2008</name> <width>100</width> <length>160</length> </table>
为了避免冲突,此时用命名空间,如下
<l:table xmlns:h="http://www.w3.org/TR/html4/"> <l:tr> <l:td>hello</l:td> <l:td>good</l:td> </l:tr> </l:table>
<j:table xmlns:f="http://www.w3school.com.cn/furniture"> <j:name>zhanshenzhi2008</j:name> <j:width>100</j;width> <j;length>160</j;length> </j;table>
注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。请访问http://www.w3.org/TR/html4/。
默认的命名空间
<table xmlns:h="http://www.w3.org/TR/html4/"> <tr> <td>hello</td> <td>good</td> </tr> </table>