XML简明教程

一、XML是什么?万维网协会推出的一套数据交换标准——XML,是一种可扩展的标记语言,被设计用来传输和存储数据 。XML 可用于定义 Web 网页上的文档元素以及复杂数据的表述和传输 。
Extensible Markup Language,简称 XML,中文含义是可扩展标记语言,该语言与 html 类似,主要功能是传输数据、储存数据和共享数据 。XML 语言没有规定的标签体,需要自定义标签,是一种自我描述的语言 。XML 与 HTML 有着本质的区别,XML 传输和存储数据,而 HTML 用来显示数据 。
XML 的最大特点是自我描述和任意扩展,当用其描述数据时,用户可以根据需要,组织符合 XML 规范形式的任意内容,并且标签的名称也可以由用户指定 。

XML简明教程

文章插图
图片来源网络
二、XML的结构【XML简明教程】例如,一个描述书籍的XML文档可能如下:
<?xml version="1.0" encoding="UTF-8" ?> <!-- 文档声明,默认编码为UTF-8 --><!DOCTYPE note SYSTEM "book.dtd"><book id="1">    <name>JAVA核心技术</name>    <author>Cay S. Horstmann</author>    <isbn lang="CN">1234567</isbn>    <tags>        <tag>Java</tag>        <tag>Network</tag>    </tags>    <pubDate/></book>XML有固定的结构,首行必定是<?xml version="1.0"?>,可以加上可选的编码 。紧接着,如果以类似<!DOCTYPE note SYSTEM "book.dtd">声明的是文档定义类型(DTD:Document Type Definition),DTD是可选的 。接下来是XML的文档内容,一个XML文档有且仅有一个根元素,根元素可以包含任意个子元素,元素可以包含属性,例如,<isbn lang="CN">1234567</isbn>包含一个属性lang="CN",且元素必须正确嵌套 。如果是空元素,可以用<tag/>表示 。XML有几个特点:一是纯文本,默认使用UTF-8编码,二是可嵌套,适合表示结构化数据 。如果把XML内容存为文件,那么它就是一个XML文件,例如book.xml 。此外,XML内容经常通过网络作为消息传输 。
三、一些重要语法规则和知识所有 XML 元素都须有关闭标签
在 HTML,经常会看到没有关闭标签的元素:
<p>This is a paragraph<p>This is another paragraph在 XML 中,省略关闭标签是非法的 。所有元素都必须有关闭标签:
<p>This is a paragraph</p><p>This is another paragraph</p>  注释:您也许已经注意到 XML 声明没有关闭标签 。这不是错误 。声明不属于XML本身的组成部分 。它不是 XML 元素,也不需要关闭标签 。
XML 标签对大小写敏感
XML 元素使用 XML 标签进行定义 。
XML 标签对大小写敏感 。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的 。
必须使用相同的大小写来编写打开标签和关闭标签:
<Message>这是错误的 。</message><message>这是正确的 。</message> 注释:打开标签和关闭标签通常被称为开始标签和结束标签 。不论您喜欢哪种术语,它们的概念都是相同的 。
XML 必须正确地嵌套
在 HTML 中,常会看到没有正确嵌套的元素:
<b><i>This text is bold and italic</b></i>在 XML 中,所有元素都必须彼此正确地嵌套:
<b><i>This text is bold and italic</i></b>在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭 。
XML 文档必须有根元素
所有的 XML 文档有且只有一个根元素来定义整个文档 。
XML 文档必须有一个元素是所有其他元素的父元素 。该元素称为根元素 。
<root>  <child>    <subchild>.....</subchild>  </child></root>XML 的属性值须加引号
与 HTML 类似,XML 也可拥有属性(名称/值的对) 。
在 XML 中,XML 的属性值须加引号 。请研究下面的两个 XML 文档 。第一个是错误的,第二个是正确的:
<note date=08/08/2008><to>George</to><from>John</from></note> <note date="08/08/2008"><to>George</to><from>John</from></note> 在第一个文档中的错误是,note 元素中的 date 属性没有加引号 。


推荐阅读