《xml入门经典》学习进程之开篇章

XML是可扩展标记语言,是SGML语言的一个子集。

它是一种元标记语言。

与HTML相比,不仅可以描述文档外观,而且可以描述文档的内容和结构。

它本身就是一种文本格式。

它主要有两种应用:一个是用来表述底层数据,如配置文件;一个是用来为文档添加元数据。

计算机如何存取数据?

计算机中的数据文件分为两大类:二进制文件和文本文件。

二进制文件只能在某些特定的程序中读取和建立,因为它本身就是个比特流,只有创建二进制文件的应用程序才会理解比特流的含义。

例如,Word创建的以.doc为扩展名的文档就是一种二进制文件。该文档中的所有信息都需要用二进制代码(元数据)来表示。

一个字处理程序生成的文档不一定能够被另一种字处理程序读取,因为设计这些程序的开发人员有自己的格式定义数据文件(当然现在的大多数字处理程序都带有自动转换功能)。

二进制文件有许多优点:计算机容易理解,处理速度快,存储效率高。缺点:无法在一个应用程序(不单指字处理程序)里打开另一个应用程序生成的二进制文件,而且同一个应用程序在不同的平台上可能会有兼容的问题。

文本文件也是比特流,但是它是以一种标准的格式(当然所谓的标准格式也有很多)组织起来的,它们总是组成一个个数,每个数再映射成字符。这种文件的优点是它更容易共享,因此促进了Internet的普及。但也有缺点,它不能保存元数据,而且文件所占用的空间比较大。

使用底层数据流表示字符的方式被称为文件的编码方式。一个文件采用何种编码可从文件的前几个字节中得知,所以应用程序会在打开这个文件时检查这几个字节,并通过它们来确定显示和操作数据的方式。如果前面的几个字节为空,则应用程序会采用默认的字符集来解读文件。

例如,将一个Word生成的文档转换成文本格式后,它就不带其他任何附加功能,而只能纯文本的形式显示。

为了将文本文件的通用性与二进制文件的存储效率和丰富的存储格式结合起来,SGML(标准通用标记语言)便诞生了。它是一种基于文本格式的语言,按一种自描述的方式标记数据。

HTML以SGML为基础,它可以用于信息显示和不同信息媒体之间的链接。但它有个局限性,它只能用于在浏览器中显示文档。我们没有办法从该文档中推断出哪些内容表示具体的显示内容是什么,它只能用于对外显示信息而无法描述自身的信息。因为HTML中的标签只是告诉浏览器如何显示标签之间内容,并没有提供与标签之间的内容有关的信息。

XML也以SGML为基础,它与SGML完全兼容。它以把数据结构化为目标,使开发人员可以根据数据的结构访问数据。

程序员一直以来用不同的方法构建自己的数据,每种新的数据构建方法必须得有新的数据读取方法,然而这些所谓的新的数据读取方法必须经过许多实验和测试才可能保证其有效性。为了简化开发中的繁琐,XML为我们读取数据提供了一个标准的方法,而不用担心些数据如何构建。

XML解析器:

为什么我们可以通过XML就能很容易地获取数据?这是因为存在一些称之为解析器的程序可以理解XML语法并帮我们读取信息。正因为有了解析器,我们就不用在应用程序中来直接处理XML了,直接把它交给XML解析器来处理。

解析器在解析XML时不需要知道数据在文件中存放的位置,它只需要一些标签就能根据要求处理标签之中的数据。

正如任何HTML文档可以在任何Web浏览器上显示一样,任何XML文档也可以由任何XML解析器读取。

关于“可扩展”:

由于我们完全控制XML文档的创建方法,可以按任意方式组织数据,因此,对于特定的应用程序,相应的XML会有特定的意义。而可扩展的意思,就是任何人可以按任何方式用XML标记数据。而HTML则不同,我们不能增加HTML的语汇,我们必须使用HTML规范中规定的标签。

由于XML的灵活性,我们在开发中可以建立自己的词汇,但如果使用一种通用的格式,我们生成的软件直接与其它软件相兼容的可能性会更大。

HTML和XML的综述:

HTML用于信息表示,而XML用于信息交换。它们的功用都是有一定的代价的。HTML在几乎所有的Web浏览器中都可以显示,但这一“所有”是建立在牺牲HTML文档的布局精确性和更好的显示效果上的。同样的,XML为了使数据格式具备更好的通用性和灵活性,XML开发者不得不放弃可以减小XML文件大小的某专用格式。

HTML是为某个专用程序设计的,它把信息通过Web浏览器传递给人们。,而XML本身就具有良好的通用性。

若在实际运行中某些网页在一个浏览器中正常显示而在另一个浏览器中无法显示,大多数情况下都是由于该网页使用了一些非标准的HTML标签所致。

任何一个XML解析器都可以读取任何XML文档中的信息,但读取了信息不代表应用程序就能理解该信息的实质含义。

XML的组成:

只定义一个规范就想囊括XML中所有的关于组织信息的技术是不可能的,基于这个理由,几个相关的规范和推荐标准共同组成了XML的全部技术。

它们有:

  • XML1.0是最底层的推荐标准,XML标准系列都是建立在它之上的。它规定了XML文档必须遵从的语法、解析器必须遵循的规则等等。此外,它还定义了文档类型定义(DTD)。
  • 由于我们可以建立自己的文档结构和元素名称,因此DTD和schema为我们提供了定义文档类型的方法。
  • 名称空间使得一个XML词汇有别于另一个XML词汇。有了名称空间,我们可以把多个词汇组织到一个文档类型里。
  • XPath是一个查询语言,它提供了寻址XML文档中某部分内容的功能。应用程序可以通过它读取XML文档中某部分内容而不必读取整个文档。
  • 对于XML文档中内容的显示,我们可以用CSS和XSL来完成。
  • 一个XML解析器不一定能够识别一个HTML文档,因为XML具有更严格的语法。为些,出现了XHTML。它是HTML的XML版。
  • XQuery推荐标准可以帮助我们直接从Web上的XML文档查询数据。
  • DOM的作用是希望以前的应用程序能够访问XML文档。
时间: 2024-12-22 04:58:37

《xml入门经典》学习进程之开篇章的相关文章

数据挖掘--Python入门经典学习1--乳腺癌分类问题

基于肿瘤特征判定是恶性肿瘤还是良性肿瘤,通过研究699个患者的肿瘤属性,找到肿瘤预测模式,根据肿瘤属性来判定肿瘤性质,对没有见过见过面的患者,根据属性来判定是否为恶性肿瘤. 用到的数据:链接:http://pan.baidu.com/s/1c26Dbjy 密码:gllb [html] view plain copy ########################################### #        分类器:肿瘤良性还是恶性 #########################

《XML入门经典》学习进程之第3章命名空间

在XML解析器把XML文档解析并将其中的数据传递给应用程序后,应用程序需要把来自不同文档的元素组合到同一个XML文档里. 无论是在同一个文档还是在不同的文档,为了解决命名冲突的问题,可以在每个元素前添加前缀.但这个方法也有缺点,就是在为HTML的XML版的元素前添加前缀时,浏览器可能无法正常读取XML文档中的XHTML内容. 命名空间只是起到"分装容器"的作用,除此之外,无任何意义. 命名空间的定义有了,但是由谁来管理这些命名空间?要使命名空间有效,命名空间前缀本身也必须是唯一的.这个

《XML入门经典》学习进程之第2章良构的XML文档

XML解析器帮助应用程序解析XML文档,并为应用程序提供它所需要的信息.XML解析器读取XML文档中的每个字符,并判断哪些字符是文档的标签,哪些才是数据,并在应用程序处理这些数据之前对XML进行一些其他的必要的处理. XML文档中的全部标签组成了XML的标记语言. XML的标签用法与HTML的相同. 首末标签和标签之间的文本内容统称为元素. 标签之间的文本称为元素内容,该概念有专门的术语,即可解析的字符数据(PCDATA).这些术语都是XML从SGML那里继承过来的. 标签的写法除了传统的<XX

C#入门经典学习笔记 &lt;chapter06 函数&gt;

/* 20160324 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ch06 {    class Program    {        //params 参数数组        static int SumVals(params int[] vals)        {            int sum = 0;            

xml入门

l常见用途 (1) 数据传送通用格式 比如qq之间的数据传送做案例进行详细讲解,用xml格式来传送数据,具有良好的可读性性,可维护性. (2)配置文件 xml文件做配置文件可以说非常的普遍,比如我们的tomcat服务器的server.xml ,web.xml . 在比如我们的struts中的struts-config.xml文件,和hibernate的hibernate.cfg.xml ..... (3) 充当小型数据库 xml文件做小型数据库,也是不错的选择,我们程序中可能用到一些经常要人工配

XML学习总结(二)——XML入门

一.XML语法学习 学习XML语法的目的就是编写XML 一个XML文件分为如下几部分内容: 文档声明 元素 属性 注释 CDATA区 .特殊字符 处理指令(processing instruction) 1.1.xml语法——文档声明 在编写XML文档时,需要先使用文档声明,声明XML文档的类型. 最简单的声明语法: <?xml version="1.0" ?> 例如: 1 <?xml version="1.0"?> 2 <softCo

C语言学习书籍推荐《C语言入门经典(第4版)》

霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识,即可通过<C语言入门经典(第4版)>从头开始编写自己的C程序.研读<C语言入门经典(第4版)>,你就可以成为一位称职的C语言程序员.从许多方面来说,C语言都是学习程序设计的理想起步语言.C语言很简洁,因此无须学习大量的语法,就能够开始编写真正的应用程序.除了简明易学外,它还是一种功能非

机器学习_深度学习_入门经典(永久免费报名学习)

机器学习_深度学习_入门经典(博主永久免费教学视频系列) https://study.163.com/course/courseMain.htm?courseId=1006390023&share=2&shareId=400000000398149 作者座右铭---- 与其被人工智能代替,不如主动设计机器为我们服务. 长期以来机器学习很多教材描述晦涩难懂,大量专业术语和数学公式让学生望而止步.生活中机器学习就在我们身边,谷歌,百度,Facebook,今日头条都运用大量机器学习算法,实现智能

&amp;lt;C#入门经典&amp;gt;学习笔记1之初识C#

序言 选择< C#入门经典第五版>作为自学书籍,以此记录学习过程中的笔记与心得. C#简单介绍 1. C#是一种块结构的语言 2. C#区分大写和小写 C#变量 C#的变量定义与C语言相似 一.变量类型及定义 整形及范围定义 浮点型及范围定义 float和double以 ±m?2 e 的形式存储浮点数 Decimal以 ±m?10 e 的形式存储浮点数 字符型及范围定义 字符面 注:字符串是引用类型,其他类型都是值类型.变量在使用前,必须进行初始化. 转义符 1.全部的转义序列都包含一个反斜杠