XML教程

概念:
XML是一种自描述性文档,它的作用是内容的承载,和展示没有任何关系.所以,如何将XML里的数据以合理的方式取出展示,是XML编程的主要部分. 

什么是XML?
1.XML 指可扩展标记语言(EXtensible Markup Language)。
 HTML的含义:超文本标记语言(超:图像、音频、文本等)
 HTML中内部的标签(预先定义)
2.XML 是一种很像HTML的标记语言。
3.XML 的设计宗旨是传输数据,而不是显示数据。
4.XML 标签没有被预定义。您需要自行定义标签。
5.XML 被设计为具有自我描述性。
6.XML 是 W3C 的推荐标准。

在那些地方使用:
xml是一种数据内容的承载,与数据库相比保存大量数据不同,xml适合保存一些小数据,一些在项目中所需要的内容。

XML的作用:
1.一种文档格式.只是内容的载体.
2.常用来做数据存储,数据传输或者配置描述.
3.它不负责展示.至于里面的内容如何使用,由XML程序来控制

XML字符编码
XML存储时所使用的字符编码. 这个编码告诉解析程序应该使用什么编码格式来对XML解码. 为了国际通用,使用UTF-8吧. 对于纯英文,UTF8只需要一个字节来表示一个英文字符. XML的size也不会太大..

 XML的语法规则:
    XML文档必须有根元素
    XML声明(XML 声明文件的可选部分,如果存在需要放在文档的第一行)
    所有的 XML 元素都必须有一个关闭标签
    XML 标签对大小写敏感
    XML 必须正确嵌套
    XML 属性值必须加引号
    在 XML 中,空格会被保留

XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
1)XML 被设计用来传输和存储数据,其焦点是数据的内容。
2)HTML 被设计用来显示数据,其焦点是数据的外观。
3)HTML 旨在显示信息,而 XML 旨在传输信息。

DTD的元素
  1、DTD中的元素(ELEMENT)是用来约束XML文件中的标记,
<!ELEMENT  标记名称   标记的约束条件 > 
<!ELEMENT 列车时刻表  (T28次,T29次) > 
 约束标记“列车时刻表” 只可以有且必须有两个子标记“T28次”和“T29次”。
  2、规定标记的子标记
  <!ELEMENT  标记名称  (子标记列表) >
  <!ELEMENT 开车时间 (hour,minute) >
  要求标记“开车时间” 恰好有两个子标记“hour”和“minute”,不可以有能显示的文本数据,
  并且子标记在父标记“开车时间”中出现的顺序必须是“hour”、“minute”
  而不是 “minute”、“hour”.
  3、限制标记只有文本数据
  <!ELEMENT  标记名称  (#PCDATA) >
  4、定义混合元素(既有字符串内容,又包含子元素)
<!ELEMENT 父元素名 (#PCDATA) | 子元素1 | 子元素2
  5、EMPTY和ANY 
  如果准备约束一个标记是空标记,或者是只含有空字符的非空标记,
  元素的“标记的约束条件”可以是关键字“EMPTY”;
  如果不准备对一个标记有任何约束,元素的“标记的约束条件”可以是关键字“ANY”。
  <!ELEMENT  speak  EMPTY >
<!ELEMENT hello ANY >

DTD中的属性 
1、ATTLIST声明 
DTD中的属性列表(ATTLIST)可用来约束XML文件中标记的属性,在DTD中属性列表的声明格式为:
<!ATTLIST  标记名称  
属性名称 属性类型 默认值情况
属性名称 属性类型 默认值情况
… ….
>

(1)属性名称
  属性名称的命名规则和标记的命名规则相同,可以由字母、数字、下划线(“_”)、点(“.”)或连字符(“-”)组成,但必须以字母或下划线开头。
(2)属性类型  
 我们已经知道属性值一定是一个字符串,那么属性类型就决定了属性可以用怎样的字符串作为属性的值。
(3)默认值情况
ATTLIST声明是为了约束XML文件中标记的属性,ATTLIST声明中关于属性的“默认值情况”是对XML文件中标记的属性进行约束的细节条件
属性的默认值可以是字符串、关键字(#IMPLIED、#REQUIRED、#FIXED)
#REQUIRED:必要的属性,意味着必须为该元素提供该属性
<!ATTLIST 作者 地址 CDATA #REQUIRED>  
#IMPLIED:该属性是可有可无的
#FIXED:该属性的值是固定的,定义时必须指定固定的值
<!ATTLIST 作者 地址 CDATA #FIXED “广州”>
属性类型:
1、CDATA类型(该属性的值可以是任何一个字符串)
  注意:字符串中不能含有含有左尖括号、右尖括号、与符号、单引号和双引号
2、枚举类型:
  <!ATTLIST 肉 类型(鸡|牛肉|猪肉|鱼肉) #REQUIRED>
3、NMTOKEN类型
如果属性的类型是NMTOKEN类型的属性,属性值可以
由字母、数字、下划线(“_”)、点(“.”)或连字符(“-”)组成,
属性值中不能含有空格字符(属性值也可以用数字、点或连字符开头)
4、NMTOKENS类型
对于NMTOKEN类型的属性,其属性值中不能含有空白类字符。
如果需要某个属性的属性值含有空白类字符,而且被空白分隔开的子字符串符合NMTOKEN类型属性的属性值之规定,
那么就可以将属性的类型取为NMTOKENS类型。 


dom解析原理示意图:
SAX解析原理示意图:

附(内含详细文档):https://download.csdn.net/download/qq_39657597/10383592


1 XML 简介...................................................................................................................... 1 2 XML 的用途.................................................................................................................. 3 3 XML 树结构.................................................................................................................. 5 4 XML 语法规则.............................................................................................................. 8 5 XML 元素....................................................................................................................11 6 XML 属性....................................................................................................................13 7 XML 验证....................................................................................................................17 8 XML 验证器................................................................................................................19 9 XML 浏览器支持........................................................................................................19 10 查看XML 文件........................................................................................................20 11 使用 CSS 显示XML............................................................................................21 12 使用XSLT 显示XML .............................................................................................23 13 XML 解析器..............................................................................................................25 14 XML DOM ...............................................................................................................27 15 XML to HTML.........................................................................................................31 16 XMLHttpRequest 对象......... 17 XML 应用程序..........................................................................................................36 18 XML 命名空间(XML Namespaces )..............................................................40 19 XML CDATA............................................................................................................43 20 XML 编码..................................................................................................................45 21 XML DOM 高级......................................................................................................47 22 XML Don't...............................................................................................................49
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值