参考:
W3C官网:
https://www.w3.org/
当前XML版本:https://www.w3.org/TR/2013/NOTE-xml-c14n2-20130411/
最新在学习嵌入Linux开发解析XML文件的内容。在这里做个笔记与大家分享,共同学习。有错误的地方欢迎大家指正。
今天主要讲的内容是XML的基础知识,只有了解了XML的历史,知道它是作什么用的,才可以进行我们的解析开发工作。下面的内容主要整理于互联网。
1.XML发展历史
早在1969年,IBM公司就开发了一种文档描述语言GML用来解决不同系统中文档格式不同的问题,GML是IBM许多文档系统的基础,包括Script和Bookmaster,接下来的日子里,这个语言在1986年演变成一个国际标准(ISO8879),并被称为SGML,SGML是很多大型组织,比如飞机、汽车公司和军队的文档标准,它是语言无关的、结构化的、可扩展的语言,这些特点使它在很多公司受到欢迎,被用来创建、处理和发布大量的文本信息。
在1989年,在CERN欧洲粒子物理研究中心的研究人员开发了基于SGML的超文本版本,被称为HTML。HTML继承了SGML的许多重要的特点,比如结构化、实现独立和可描述性,但是同时它也存在很多缺陷:比如它只能使用固定的有限的标记,而且它只侧重于对内容的显示。同时随着Web上数据的增多,这些HTML存在的缺点就变的不可被忽略。W3C提供了HTML的几个扩展用来解决这些问题,最后,它决定开发一个新的SGML的子集,称为XML。
XML的出现就是为了解决HTML所存在的这些弊病。它保留了很多SGML标准的优点,但是更加容易操作和在WWW环境下实现。在1998年,它就变成了W3C的标准。
2.XML语法结构
Everyday Italian
Giada De Laurentiis
2005
30.00
Harry Potter
J K. Rowling
2005
29.99
Learning XML
Erik T. Ray
2003
39.95
第一行是XML声明。它定义XML的版本(1.0)和所使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。下一行描述文档的根元素(像在说:“本文档是一个书店”)。接下来有3个book子元素,每个book子元素里又有描述根的4个子元素(title,author,year以及price)。最后一行定义根元素的结构。
XML文档必须包含根元素。该元素是所有其他元素的父元素。XML文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。所有元素均可拥有子元素,所有元素均可拥有文本内容和属性(类似HTML中)。