现在的位置: 首页 > 综合 > 正文

XML

2013年08月23日 ⁄ 综合 ⁄ 共 2924字 ⁄ 字号 评论关闭

 (这篇文章只是一个概括性,结构性的介绍XML一些重要的知识点)

XML简介

 什么是XML

·         XMLeXtensible Markup Language的缩写,是由万维网联盟(World Wide Web ConsortiumW3C)定义的一种语言,称为可扩展标志语言。

·         所谓可扩展性是指XML允许用户按照XML的规则自定义标记。

·         XML文件是由标计及其所标记的内容组成的文本文件。

1.    W3C推出XML的目的?

 主要目的是使得Internet网络上的数据互相交流方便,让文件的内容更加显得易懂。

  什么是规范的XMLWell-Formed XML

符合W3C制定的基本语法规则的XML称为规范的XML。检查XML是否规范的一个最简单的方法就是用浏览器打开XML文件,如果XML是规范的,浏览器将会显示XML的源文件,否则将会显示出错信息。

如果想了解XML的语法规则,可以从下面几个方面了解:

XML的声明;

标记;

特殊字段;

CDATA段;

标记的文本数据;

属性;

注视;

命名空间;

区分大小写;

标记的子孙关系;

2.     什么是有效的XMLValidated XML

规范的XML如果在符合一些额外的约束,就称为有效的XML。对MXL的格外约束,主要是对XML的结构和数据进行约束,W3C提供了两种方式对MXL进行限制,一个是文档定义类型(Document Type Definition, DTD)。另一个是XML Schema模式。

3.    XMLHTML的区别?

·         XML可以很好的描述数据结构,有效的分离数据的结构和表示,可以作为数据交换的标志的格式, 而HTML用来编写Web的语言,只是用来显示数据显示到Web上,不具有存储数据结构的能力。

·         HTML不允许用户自己定义标记,而XML允许。

·         XML只关心数据的组织的结构,以便XML解析器按照其结构解析出数据,而XML本身不提供数据的显示格式。

4.    XML的优点,应用,发展空间

作为表示结构化数据的行业标准,XML向组织,软件开发人员,Web站点和最终用户提供了很多优点。 XMLW3C推出的数据交换的标准,它已被行业的广泛的支持。很多公司纷纷根据XML的标志,推出了自己的产品,例如MicrosoftBizTalk,还有很多XML的解析器。

 XML不仅提供了在数据上直接工作的方法,而且其威力在于将用户界面和结构化数据分离,允许来自不同数据源的数据无缝集成和对同一数据进行不同的处理。

 

从描述语言的角度看,XML是灵活的,可扩展的,有良好的结构和约束。

 

从数据处理的角度看,XML足够简单,而且易于阅读,几乎和HTML一样易于学习,而且易于被各种应用程序处理。

XML进行数据结构控制

1.    DTD

2.    XML Schema

W3C提供了两种方式对MXL进行限制,一个是文档定义类型(Document Type Definition, DTD)。另一个是XML Schema模式。尽管DTDXML Schema模式都可以对XML进行数据结构的限制,但是二者最大的区别在于 XML Schema是一个特殊的XML文件,它本身也是XML文件。 DTD却有着和XML不同的语法。需要的单独了解学习另外的一些DTD的语法规则。DTDXML Schema模式各有所长,但是XML SchemaDTD更为复杂。 一般来说,如果只是对XML文件的标记和属性进行约束,而不涉及文本的具体的内容,那么DTD就足够了。有人评价XML Schema 艰涩难懂,但是它还是有些DTD的无法实现的功能。

XML进行数据显示控制

 

1.    CSS

2.    XSL

XML关系的是数据的结构,并能很好的,方便的描述数据,但是它不提供数据显示的功能。 因此浏览器不能直接现实XML标记的文本内容。如果想让浏览器如何显示XML文件标记的文本内容,那么就必须以某种方式告诉浏览器如何显示。 W3CXML数据显示也提供了两个规范. 一个是层叠样式表(Cascading Style SheetsCSS)和可扩展样式语言(eXtensible Style sheet Language XSL XSL提供了比CSS更强大的数据显示能力,利用XSL可以提供HTML那样完美的显示数据。 XSL变化的基本步骤:

XML文件-------(关联)----XSL文件--------(变化)------HTML文件

一个能将XSL文件转换成HTML文件的程序一定具有处理XSL样式表的功能,例如IE5.5或者更高的版本就是这样以一个有这种功能的应用程序。当用IE打开一个关联到XSL文件的XML文件时,IE就把这个XSL转换成HTML,并执行HTML将数据显示在浏览器中.`

XML进行数据解析

1.    基于DOMDOM解析器

2.    基于SAXSAX 解析器

XML能够很好地,方便地描述和组织数据,但在很多实际问题中,人们非常关心XML的数据结构,并根据结构提取到自己想要的数据,或者是全部数据,或者是局部数据. 这时就需要XML解析器来帮忙了.

 

 

XML解析器是XML和应用程序之间的一个软件组织,为应用程序从XML中解析出所需要的数据.有两种类型的解析器,基于DOM解析器和基于事件的SAX解析器。

 

W3C制定了解析XML的规范标准,一个是文档对象模型(Document Object Model,DOM)一个SAX(Simple Api for Xml).

 

W3C提供解析文件的接口,各种语言可以按照这些规范去实现在这些接口。 不同的组织,如SUN公司或者MS公司基于这些标准实现自己DOM解析器和SAX解析器。例如SUN公司的Java API For XML Parsing, JAXP 就是SUN基于DOM标准实现的DOM解析器。

 

DOM规范指定了语言绑定需要实现的接口,简单的说,各种基于DOM规范的解析器必须按照DOM规范在内存建立数据。 DOM规范的核心是树模型。解析器通过读入XML文件,在内存建立一个树,也就是说XML文件的标记,标记的文本内容,实体等都会在内存的树上的某个节点对应。 一个应用程序可以方便的操作树的节点以达到处理XML文件的目的,获取自己想要的数据。

 

DOM解析器的核心是在内存建立与XML对应的树形结构数据。优点是应用程序可以方便的处理数树上的节点。但是不足之处是,如果XML比较大,相应的Document对象就要占用比较多的内存空间。另外如果应用程序不要XML的全部数据,而只是局部的一点数据,但是为了获得这一部分数据却不得不把整个XML以树的形式存储到内存中,需要很大的空间代价。和DOM解析器不同的是,SAX解析器不在内存中建立与XML对应的树。 SAX解析器的核心是事件处理机制。所以SAX解析器,需要比较小的内存,而且效率会更高。SAX解析器调用类似于 Parse File fDefaultHandler dh,解析XML文件,并向该方法的参数dh传递一个事件处理器, SAX会寻找相应的数据,并把XML数据分成段,一一查询,不会太多内存。

 

 

 

 

抱歉!评论已关闭.