1、简介 1》什么XML语言(eXtensible Markup Language) 可扩展标记语言XML是SGML的子集,其目标是允许普通的SGML在Web上以目前HTML的方式被服务、接受和处理。XML被设计成易于实现,且可在SGML和 HTML之间互相操作(W3C XML工作组对XML的定义)。 2》标记语言发展史 3》XML语言设计的目的 可扩充性 语义与表现形式的分离 在Internet上的可用性 简单性 国际化(任何系统,任何语言都可以访问) 和SGML的协作性 4》XML语言的优越性 XML是使信息自描述的新语言。 信息共享 --自定义数据格式,而且很容易使用工具读写 数据传递 --支持各种通道的数据传输 数据重用 分离数据和显示 可扩展 文档包含语义 其他 --容易阅读/工具/树形结构面向对象 编程 2、基础语法 1》xml语言的特点 XML是自描述数据(保存纯数据) 使用现有的国际标准 格式正规的XML(本章主要介绍格式正规的XML的语法规则) 有效的XML XHTML(支持xml的html) 2、XML语言解析器 有很多xml解析器,各种 浏览器都可以解析xml文件 xml 文档格式: 3》xml的声明(就是xml文件的第一行);参数说明: version - -文档符合XML1.0规范,现在只有1.0 encoding - -文档字符编码,默认为"UTF-8" standalone - -文档定义是否在一个文件内 standalone="yes" standalone="no" 4》每个XML文档必须有且只有一个根元素。 5》xml 处理指令PI 语法:<?目标 指令?> PI必须以一个叫做目标的标识符开头,这个标识符遵从如同元素和属性一样的规则,目标是指令所指向的应用的名称。 指令是传递给应用程序的信息。 6》CDATA节(就是按照原文本格式输出) 1 <!--相当于 html中的 pre 标签--> 2 <![CDATA[ 3 小明 4 <shit>就是个shit</shit> 5 6 ]]> 7》完整的XML完整实例 复制代码 1 <班级 编号="shit007"> 2 3 <老师> 4 <姓名>林志玲</姓名> 5 <性别>女</性别> 6 <爱好>拉丁</爱好> 7 </老师> 8 <所有学生> 9 <学生> 10 <姓名>小红</姓名> 11 <性别>女</性别> 12 <年龄>16</年龄> 13 </学生> 14 <学生> 15 <姓名>小辉</姓名> 16 <性别>男</性别> 17 <年龄>18</年龄> 18 </学生> 19 </所有学生> 20 </班级> 复制代码 3、命名空间 1》为什么使用命名空间 为了 区别 同名 元素 2》使用URL作为XML的Namespaces 3》三种定义方式: 1、先定义,后使用 2、使用的同时,给出定义 3、指定默认命名空间 代码演示: 复制代码 1 <!--命名空间的使用--> 2 3 <!--第一种定义方式:先定义再使用--> 4 <!--定义了 命名空间 xmn,,--> 5 <root xmlns:xmn="http://schemas.microsoft.com/ado/2006/04/edm"> 6 <!--生命 name在 命名空间 xmn 里面--> 7 <xmn:name> 8 小明 9 </xmn:name> 10 11 12 <!--第二种定义方式:使用的同时定义命名空间--> 13 <xs:table xmlns:xs="http://baidu.com"> 14 </xs:table> 15 16 17 <!--第三种定义方式:默认命名空间的命名--> 18 <ddd:table xmlns:ddd="http://schemas.microsoft.com/" xmlns="http://demo/"><!--里面的 xmlns="http://demo/"是默认的命名空间,如果下面的元素没有 定义命名空间的 话,,默认就在 次 命名空间下面--> 19 20 <!--下面的 元素就是在 命名空间 ddd的 下面,,因为 显示 指定 了 命名空间--> 21 <ddd:dd> 22 我是 显示 指定 在 命名空间 ddd下面的 元素 23 </ddd:dd> 24 25 <!--没有指定 命名空间,默认就是 父级 设定的 默认命名空间--> 26 <dd> 27 我是 在 默认命名空间 下面的 28 </dd> 29 30 <!--如果 自己 定义 命名空间,那么 此元素就是 在 自己定义的命名空间 下面的--> 31 <dd xmlns="http://demoshit/"> 32 我是 在 自已 定义的 命名空间下面的 33 </dd> 34 35 </ddd:table> 36 37 </root>