嵌入式Linux解析XML开发之:(一)XML基础

来源:互联网 发布:易语言界面源码 编辑:程序博客网 时间:2024/05/19 16:37

参考:

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语法结构

<?xml version="1.0" encoding="ISO-8859-1"?>  <bookstore>  <book category="COOKING">    <title lang="en">Everyday Italian</title>     <author>Giada De Laurentiis</author>     <year>2005</year>     <price>30.00</price>   </book>  <book category="CHILDREN">    <title lang="en">Harry Potter</title>     <author>J K. Rowling</author>     <year>2005</year>     <price>29.99</price>   </book>  <book category="WEB">    <title lang="en">Learning XML</title>     <author>Erik T. Ray</author>     <year>2003</year>     <price>39.95</price>   </book>  </bookstore> 

第一行是XML声明。它定义XML的版本(1.0)和所使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。下一行描述文档的根元素(像在说:“本文档是一个书店”)。接下来有3个book子元素,每个book子元素里又有描述根的4个子元素(title,author,year以及price)。最后一行定义根元素的结构。

 XML文档必须包含根元素。该元素是所有其他元素的父元素。XML文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。所有元素均可拥有子元素,所有元素均可拥有文本内容和属性(类似HTML中)。


0 0