首页 > 代码库 > XML
XML
XML 指可扩展标记语言
XML 的设计宗旨是传输数据,而非显示数据
XML企业端应用
存储和传输复杂的关系模型数据
在软件系统中,作为配置文件使用
XML文件分为如下几部分内容:
文档声明
元素
属性
注释
CDATA区 、特殊字符
处理指令(processing instruction)
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。最简单的声明语法:
<?xml version="1.0" ?>
用encoding属性说明文档的字符编码:<?xml version="1.0" encoding="GB2312" ?>
用standalone属性说明文档是否独立:<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
常见错误
没有写引号:<?xml version=1.0 ?>
输入内容中有中文: <?xml version=“1.0” ?> //中文空格
编码错误,记事本设置编码UTF-8,用其他编辑器打开。
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
|-区分大小写,例如,<P>和<p>是两个不同的标记。
|-不能以数字或"_" (下划线)开头。
|-不能以xml(或XML、或Xml 等)开头。
|-不能包含空格。
|-名称中间不能包含冒号(:)。
属性
|-一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
|- <input type=“text”>
|-属性值一定要用双引号(")或单引号(‘)引起来
|-定义属性必须遵循与标签相同的命名规范
|-多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:
<input>
<name>text</name>
</input>
注释
Xml文件中的注释采用:“<!--注释-->” 格式
CDATA区
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
语法:<![CDATA[ 内容 ]]>
<![CDATA[
<itcast>
<br/>
</itcast>
]]>
处理指令
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。
<?xml-stylesheet type="text/css" href="http://www.mamicode.com/1.css"?>
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
XML约束
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
-常用的约束技术
|-XML DTD
|-<!DOCTYPE books SYSTEM "book.dtd">
|-XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件
关联方式
使用内部DTD
使用外部DTD
使用公共DT
在xml文件内部书写DTD规范
格式<!DOCTYPE 书架 […具体规范内容…]>
外部DTD:引用的文件在本地
格式:<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
例如: <!DOCTYPE books SYSTEM “book.dtd”>
公共DTD:
引用的文件是一个公共的文件
格式:
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
例如:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN“
"http://java.sun.com/dtd/web-app_2_3.dtd">
DTD约束语法细节
元素(ELEMENT)定义
属性(ATTLIST)定义
属性声明举例
<!ATTLIST 商品
类别 CDATA #REQUIRED
颜色 CDATA #IMPLIED
>
实体(ENTITY)定义
实体是变量用于引用普通文本或特殊字符的快捷方式的变量。 实体:内部实体和外部实体内部 实体:引用实体和参数实体。
XML Schema
XML