安卓开发基础期末论文姓名:汤斌斌学号:H11114036学院:经济学院XML简介及其在Android平台上的应用(H11114036汤斌斌经济学院)摘要:XML全称ExtensibleMarkupLanguage,翻译为扩展的标记语言,是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。它与HTML一样都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。比SGML简单得多,比HTML更令编程人员喜爱,它包含了很多SGML特性,继承了SGML的优点,文档结构严谨,层次分明,语义更加明确,具有良好的可读性、易编写和易维护等特性,而且使得多媒体信息在不同的系统之间相互交流成为现实。本文通过例子,简单介绍XML的发展、特点、优势,及其在Android平台上的应用,从中感受XML易于掌握和使用。关键词:XML技术历史发展优点Android平台应用XML的应用越来越广泛、无论在数据交换、Web服务、内容管理、Web集成,还是配制数据等,都在使用XML。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。今后支持XML的软件也将会越来越多XML离我们的工作生活也将越来越近。一、XML简介1、XML的发展概况XML是什么?XML是ExtensibleMarkupLanguage的缩写,译为可扩展的标记语言。XML是一套完善的定义语义标记的规则。XML的发展历史如图所示。在20世纪80年代末期,位于瑞士的欧洲原子物理实验室(CERN)的研究人员为了使他们的工作方便而开发了WEB技术,他们的目的是将实验室网络上的研究文档共享。到了1986年,ISO国际标准化组织颁布了ISO8879号国际标准,即SGML(StandardGeneralizedMarkupLanguage一标准通用标记语言),它是一种通用的文档结构描述置标语言。由于SGML非常复杂,不易使用,在1992年,CERN的研究人员把WEB技术(纯文本浏览器和最初版本HTML一简化的SGML)提交给INTERNET协会,从此,HTML(HyperTextMarkupLanguage)开始流行,并逐渐发展成一个庞大的家族,版本由原来的HTML1.0,HTML2.O,HTML3.2,HTML4.0到目前的HTML4.1,以及兼容XML格式的XHTML1.0(ExtensibleHyperTextMarkupLanguage),XHTML1.1和XHTML2.0(XHTML2.0的第五个工作草案在2003年5月6口公布)。虽然HTML己经非常流行,并且现在的程序员大多数都在使用它来创建WEB网站,但是,由于HTML是一个实例置标语言,无法完整描述数据内容,也不能描述矢量图形、科学符号等对象,格式表现不能独立,结构不严格等诸多因素,在1998年2月10日,国际互联网论坛W3C(WorldWideWebConsortium)发布XML1.0,随后在2000年10月6日发布了XML1.0(SecondEdition),2003年10月30口发布了XML1.0(ThirdEdition)。为简单化SGML,XML重新定义了一些SGML的内部值和参数,并删去大量繁杂的、不常用的、使编程复杂的特征。其实XML是SGML的一个子集,它包含了很多SGML特性,继承了SGML的优点,但是要比SGML简单得多,比HTML更令编程人员喜爱。正是由于这些原因,XML的Internet应用大量涌现。如化学标记语言(ChemicalMarkupLanguage)、数学标记语言(MathematicalMarkupLanguage)、同步的多媒体集成语言(SynchronizedMultimediaIntegrationLanguage)、可伸缩的矢量图形(ScalableVectorGraphics)、矢量标记语言(VectorMarkupLanguage)、音乐标记语言(MusicML)、语音朗读标记语言(VoxML)、濒道定义格式(ChannelDefinitionFormat)等等。2、XML的优点XML和HTML都从属于SGML,但是XML是一种无标记语言。XML描述的是文档的结构和意义,而不描述页面元素的格式化,用户可以根据自己的需要定义标记来描述和创建文档,这样的文档结构严谨,层次分明,语义更加明确,更适合人类的阅读习惯和更便于计算机的查找、存档。例如,描述广东省气象局各处室科室的电话写码。通常人们用MicrosoftWord描述的格式如下:广东省气象局电信台:运行科电话:87754050运行科Email:YXK@grmc.gov.cn网络科电话:87625482网络科Email:WLK@grmc.gov.cn……气象台:短时科电话:87777786短时科Email:DSK@grmc.gov.cn短期科电话:87778667短期科Email:DQK@grmc.gov.cn…………如果改为用XML来描述,则为如下:广东省气象局电信台科室名称运行科/名称电话87754050/电话EMAILYXK@GRMC.GOV.CN/EMAIL/科室科室名称网络科/名称电话87625482/电话EMAILWLK@GRMC.GOV.CN/EMAIL/科室……/电信台……/广东省气象局比较上述两种文档,XML格式描述的结构和语义更加清晰明了,易于理解,并且XML文档是一种纯文本,非专有的格式,不受版权、专利等其他知识产权的限制,可以使用任意的编辑器进行编辑,可以显示在各种设备上。而用Word等其他专用编辑软件编辑的文档受到专有格式的限制,不利于数据交换,不利于计算机的查找。XML和HTML相比,两者都支持统一字符编码协会(UnicodeConsortium)制定的通用字符集(UCS-UniversalCharacterSet),都支持层叠样式单(CSS-CascadingStyleSheets)外观输出;不同在于XML支持文档类型定义DTD(DocumentTypeDefinition),支持专有的可扩展的样式语言(XSL-ExtensibleStyleLanguage),支持比HTML更为复杂的XLink和XPointer链接等。在信息交互方面,XML同样可以使用列表(有序olist和无序ulist)和表格(table)来组织和表示数据,创建表单(form)和XML数据库,通过“POST”方法将表单中的控件(文木框TEXT、口令框PASSWORD、复选框CHECK、单选框RADIO等)内容提交给服务器完成信息交互。除此之外,XML的有点还有以下几点:⑴、良好的可扩展性。XML允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时,它并不要求所有浏览器都能处理这成千上万个标记,同样也不要求一个置标语言能够适合各个行业各个领域的应用,这种具体问题具体分析的方法更有助于置标语言的发展。⑵、内容与形式的分离。正如前面所说,XML中信息的显示方式已经从信息本身中抽取出来,放在了“样式单”中。这样做便于信息表现方式的修改,便于数据的搜索,也使得XML具有良好的自描述性,能够描述信息本身的含义甚至它们之间的关系。⑶、遵循严格的语法要求。XML不但要求标记配对、嵌套,而且还要求严格遵守DTD的规定。这增加了网页文档的可读性和可维护性,也大大减轻了浏览器开发人员的负担,提高了浏览器的时间空间效率。⑷、便于不同系统之间信息的传输。不同企业、不同部门中往往存在着许多不同的系统,XML可以用作各种不同系统之间的交流媒介,是一种非常理想的网际语言。⑸、具有较好的保值性。XML的保值性来自它的先驱之一一一SGML语言,可以为文档提供50年以上的寿命。3、XML语法规则XML数据具有高度的层次化结构,严格的语法规则,其在XML1.0中就有了明确的规范。如果文档内容和结构不符合这种规范,它就不可能被任何XML处理器所处理。下面是一些基本的语法规则:一个XML文档首先应当是“格式良好的”(Well-Formed)“格式良好的”XML文档除了要满足根元素唯一的特性之外,还包括:元素的属性值必须由单引号(‘’)或双引号(“”)包含。每个文档有且仅有一个根元素((Root),其他所有元素都是它的子元素。每个元素((Element)都必须有开始和结束标记(‘’和‘,)起始标签和结束标签应当匹配;结束标签是必不可少的;元素的内容可是其它的元素、符数据、字符引用、实体引用、PI、注释和CDATA(CharacterDATA,字符数据)节,元素也是能够拥有属性的唯一基本类型。大小写应一致,XML对字母的大小写是敏感的。XML是半结构化数据,可以用XML描述树来表示其结构,所以它的逻辑结构和语法都有严格定义(如使用DTD或Schema)。每个元素对的上下文((Context)关系要正确。即元素之间必须正确的嵌套,子元素应当完全包括在父辈元素中。下面的例子就是嵌套错误:AB/A旧正确的嵌套方式如下:AB/B/A属性必须包括在引号中;元素中的属性是不允许重复的。XML文档的“有效性”是指一个XML文档应当遵守DTD文件或是Schema的规定,“有效的”XML文档肯定是“格式良好的”。4、XML结构可以借助逻辑或物理结构描述XML文档。逻辑结构:文档的逻辑结构包括元素和属性。它还包括交叉引用,这是指向文档其他部分或外部对象的链接。这种链接植根于基本XML语言,但不依赖于XML链接语言。当想在某处插入一张图、一个脚注或参考文献时,这种链接非常有用。每个XML文档,不管是否具有一个DTD模式还是仅仅是良构的,都具有某种预先定义的结构或模型。结构部件称为元素。元素包含信息或内容并且可能包含其他元素(它们可能既包含信息,又包含其他元素,也可能是空的)。其中有一个元素称为根元素,它包含所有其他元素。有些元素具有利用属性添加的额外信息。属性可与标签或形容词相比,它们还可能提供元数据一关于数据的数据。例如,如果正在撰写关于各种型号的小汽车,属性可能定义颜色、引擎动力、等等。根据文档的DTD或XML模式,属性可能是必须的,也可能是可选的。物理结构:逻辑结构是指概念文档,物理结构描述实际数据及它们存储在哪里。按照XML规范的定义,“XML文档可能由一个或许多存储单元组成,它们称为实体”。实体的命名惯例类似于逻辑结构中元素和属性的命名惯例。有一个实体包含整个XML文档,它称为根实体或文档实体。XML处理器XML文档看成一系列以顺序方式读取的字符。当它看到实体引用时,它就读取该实体的名字,并用实际文本块、图形或其他媒体来替代该实体引用。一个实体可能是从单个字符到一个庞大文件的任何东西,但是用户常常将文档分解为小块数据,形成更易于操作的实体。实体可以是任何类型的媒体(一个图形、一个声音剪辑文件、一幅动画等等),也可以存储在任何地方,例如,存储在数据库、远程服务器的平面文件或Web网站中。以“广东省气象局各处室科室的电话写码”为例创建一个简单的结构完整的XML文档。如下:Metelephone.xml?xmlversion=1.0encoding=GB2312standalone=no?!一一注释XML文档声明,必须以?开始,以?结束,version为当前XML版本号,encoding为编码方式,GB2312表示以中国汉字编码,缺省为压缩的UnicodeUTF-8,standalone表示有没有外部文件导入,yes表示没有,no表示有一一!DOCTYPE广东省气象局SYSTEMmetelephone.dtd!一一导入文档类型定义文件metelep