1.文档声明:
XML文件的后缀为.xml
XML文件要求文件有一个头部声明:<?xml version="1.0" encoding="UTF-8"?>
表示当前文件是xml文件,版本为1.0,编码方式为UTF-8
2.元素:
每个xml文件必须有且只有一个根元素,根元素是一个完全包括文件中所有其他元素的元素。
xml元素是指文件中出现的标签,一个标签分为开始标签和结束标签,有两种书写形式:
包含标签体:<a>标签体</a>
不包含标签体:<a></a>
,可以简写为<a/>
一个标签中可以嵌套多个子标签,但不允许交叉嵌套,例如:<a>你好!<b>程序员</a></b>
注意:xml标签中出现的所有空格和换行,解析程序都会当做标签内容处理。xml元素区分大小写,不能以数字或下划线开头,不能包含空格。
3.属性
<student id="100">
<name>TOM</name>
</student>
一个元素可以有多个属性,基本格式如上,用空格分开即可,相同属性名称在同一个元素中值可以出现一次
4.实体
解析器默认实体:主要是一些具有特殊含义的字符,例如:大于号,小于号,单引号、双引号等等
< <
> >
& &
" "
' '
自定义实体:
格式:
<!DOCTYPE courses[
<!ENTITY 实体名 实体内容>
]>
例如:
<!DOCTYPE courses[
<!ENTITY 名字 "张三">]>
当使用”&名字”这个实体是,所代表的字符串就是“张三”
5.PCDATA,CDATA
PCDATA指会被xml文档解析器解析的内容,xml文档中的正常内容基本都是PCDATA.
CDATA指不会被xml文档解析器解析的内容,会直接按照字符串原样输出格式:<![CDATA[需要原样输出的字符串]]>
6.处理指令
处理指令必须以<? 作为开头,以 ?> 作为结尾,XML文件的头部声明语句就是最常见的一种处理指令。
xml-stylesheet指令,通知xml解析引擎,使用css文件显示xml文档内容。
<?xml-stylesheet type="text/css" href="css文件路径"?>
css文件格式:
name{
font-size:30px;
font-weight:bold;
color:red;
}
age{
font-size:30px;
font-weight:bold;
color:green;
}
7.命名空间,提供避免元素命名冲突的方法
第一种:使用前缀避免命名冲突,通过前缀创建两种不同类型的同名元素
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
此 XML 文档携带着有关一件家具的信息:
<f:table>
<f:name>茶几</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
第二种:
使用命名空间,即设置xmlns属性,命名空间属性被放置于元素的开始标签之中,并使用以下的语法:xmlns:namespace-prefix="namespaceURI"
当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称
8.xml约束
使用DTD描述元素、属性和其他杂项在xml文档中的使用规则的说明,加入该DTA的xml文档必须按照DTD的规定书写。