xml语言:Extensible Markup Language 可扩展性标记语言
语法
声明
编写XML文档时,需要声明,如果没有声明属于格式不良好的xml文档。
声明:
<?xml version='1.0' ?>
说明编码的属性:
<?xml version='1.0' encoding="GB2312" ?>
注:编码格式的不合理会导致打开文件之后乱码,例如在windows中默认使用的GB2312,磁盘在保存的时候使用的是GB2312格式,如果使用的格式UTF-8,浏览器打开是使用的UTF-8格式打开,会出现乱码。 解决方法: 1.将文档保存为UTF-8格式,在encoding设置为UTF-8 2.将文档保存为GB2312格式,encoding设置为GB2312
使用standalone属性说明文档是否独立
<?xml version='1.0' encoding="GB2312" standalone="no" ?>
注:IE浏览器可以打开,是由于IE会自动忽略该标签
元素
xml的元素指的是XML文件中出现的标签,一个标签分为开始标签和结束标签,
格式:
包含标签体:<a>www.baidu.com</a> 不包含标签体:<a></a> 简写为<a/>
空格和换行
在XML标签中,出现所有的空格和换行,XML解析程序会当作标签内容进行处理,例如:下面两段内容的意义是不同的。
<网站>www.baidu.com</网站>
<网站> www.baidu.com </网站>
属性
一个标签可以有多个属性,每个属性有他自己的名称和取值。
<input name='text'>
属性值,一定要用双引号(“)或单引号(‘)引起来
标签属性代表的信息也可以被改成用子元素的形式描述<input> <name>text</name> </input>
注释
<!--注释-->
注意:
1.声明之前不能有注释
2.注释中不能嵌套注释CDATA区域
CDATA区域区域中的内容不想被解析,当作原始内容处理
格式:
<![CDATA[ <a>www.baidu.com</a> ]]>
转义字符
特殊字符 替代字符 & &
< <
> >
“ "
‘ '
cdata区域和转义字符的区别:
这两者都是显示原始样式。
cdata区域是为计算机查看的,转义字符是为人查看的。
处理指令
处理指令
,简称PI(processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。在XML文档中可以使用`xml-stylesheet`指令,通知XML解析引擎,应用CSS文件显示xml文档内容。
<?xml-stylesheet type="text/css" href='1.css'?>
xml约束
在xml技术中,可以编写一个文档约束一个xml文档的书写规范,这个称为xml约束。
常用的技术:XML DTD 、XML schema
XML DTD约束
DTD(Document Type Definetion)全称为文本类型定义
格式:
<!ELEMENT 元素的名称 (子标签的名称1,子标签的名称2,.....)>
<!ELEMENT 元素的名称 (子标签的名称1+)> #出现一次或多次子标签
<!ELEMENT 元素的名称 (#PCDATA)> #prase character data 可解析的字符
book.dtd
<!ELEMENT 书架(书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
test.xml
<?xml version='1.0' encoding='gb2312'?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>三国演义</书名>
<作者>罗贯中</作者>
<售价>19</售价>
</书>
<书>
<书名>水浒传</书名>
<作者>施耐庵</作者>
<售价>19</售价>
</书>
</书架>