有效的XML文档以及解析技术

来源:互联网 发布:php面向对象思想 编辑:程序博客网 时间:2024/06/11 11:59
有效的XML文档:有效的XML除了要满足XML规范外,还要满足相应DTD和Schema定义的元素规则。
          
有效的XML一定是格式良好的,但格式良好的XML不一定是有效的


---------------------
 DTD:
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE 家庭 [       <!--DOCTYPE定义根元素:家庭-->
 <!ELEMENT 家庭 (人+,家电*)>    <!--ELEMENT表示描述元素:()表示定义元素的子元素-->
 <! ELEMENT 人 (#PCDATA)> <!--#PCDATA表示"人"元素,标签中间的内容为文本-->
 <!ELEMENT 家电 EMPTY> <!--EMPTY表示"家电"元素为空元素-->
 <!ATTLIST 人 <!--ATTLIST 表示定义元素的属性>
  名字 CDATA #REQUIRED   <!--CDATA 表示属性的内容为文本-->
  性别 (男|女) #REQUIRED <!--#REQUIRED表示该属性必须书写-->
  年龄 CDATA #REQUIRED
  爱好 CDATA #IMPLIED <!--#IMPLIED表示该属性可有可无-->
 >
 <!ATTLIST 家电
   名称 CDATA #REQUIRED
   数量 CDATA #REQUIRED
   说明 CDATA #IMPLIED
 >
]> 
------------------------------------------------------------------------------
XML解析技术:


1.文档对象模型(DOM),一种基于树结构的API;整个XML文档必须在内存中解析和储存;客户端应用程序就可以随机访问这些对象;大型文档则会造成内存紧张


2.XML简单API(SAX),一种事件驱动API,提供一种用于解析XML文档的事件驱动模型;使用回调机制将事件通知应用程序;特点:不必将整个文件加载到内存中,占用内存少;不能对文档进行随机访问;SAX时只读的;文档只能遍历一次
0 0
原创粉丝点击