XML语法概述.doc_第1页
XML语法概述.doc_第2页
XML语法概述.doc_第3页
XML语法概述.doc_第4页
XML语法概述.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XML语法概述XML文档使用的是自描述的和简单的语法,一个XML文档最基本的构成包括:声明,处理指令(可选)和元素。以下是一个简单的XML文档: 12345620030812057田淋8计03.2班91011200308123212杨雪锋13计03.2班1415第1行是XML声明,第2行是处理指令,第3行是注释,4到15就是文档的各个元素。(注:XML标记都是大小写敏感的).一。文档的声明:XML标记说明它是一个xml文档,后面两个属性值表明了它的版本号和编码标准,standalone取yes表明该文件未引明其他外部XML文件。二。处理指令 格式: 三。注释:格式:注释应注意的问题: 1.注释不能出现在XML声明之前; 2.注释不能出现在标记中; 3.注释中不能出现连续两个连字符,即 如:; 4.注释中可包含元素,但元素中不能包含包含的元素解析时被忽略;5.注释不能嵌套;四。元素与标记: 所有的XML元素必须合理包含,且所有的XML文档必须有一个根元素。如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的出现。XML语法规范要求XML元素属性值必须用引号引着。请看下面的两个例子,第一个是错误的,第二个是正确的。ToveJaniToveJani格式:数据内容XML元素是可以扩展的,它们之间有关联,XML元素有简单的命名规则: Names can contain letters, numbers, and other characters (元素的名字可以包含子母,数字和其他字符。) Names must not start with a number or punctuation character (元素的名字不能以数字或者标点符号开头。) Names must not start with the letters XML (or XML or Xml .) (元素的名字不能以XML(或者xml,Xml,xMl.)开头。) Names cannot contain spaces(元素的名字不能包含空格。) 元素是XML文档的灵魂,它构成了文档的主要内容。XML元素则是由标记来定义的,同时标记分为非空标记和空标记。 1.非空标记格式: 元素内容 如:2003081205田淋计03.2班 2.空标记格式: 如:同时元素也支持合理的嵌套,如上面的文档例子,学生名单与学生就是一层嵌套。嵌套需满足以下规则: 1.所有XML文档都从一个根节点开始,根节点包含了一个根元素;2.文档内所有其他元素必须包含在根元素中;3.嵌套在内的为子元素,同一层的互为兄弟元素; 4.子元素还可以包含子元素; 5.包含子元素的元素称为分支,没有子元素的元素称为树叶;数据既可以存储在子元素中也可以存储在属性中,应尽量使用子元素而避免使用属性。原因如下: attributes cannot contain multiple values (child elements can) (属性不能包含多个值(子元素可以) attributes are not easily expandable (for future changes) (属性不容易扩展) attributes cannot describe structures (child elements can) (属性不能够描述结构(子元素可以)) attributes are more difficult to manipulate by program code (属性很难被程序代码处理) attribute values are not easy to test against a Document Type Definition (DTD) - which is used to define the legal elements of an XML document(属性值很难通过DTD进行测试)XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。所有 XML 元素都须有关闭标签在 HTML,经常会看到没有关闭标签的元素:This is a paragraphThis is another paragraph在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:This is a paragraphThis is another paragraph 注释:您也许已经注意到 XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。XML 标签对大小写敏感XML 元素使用 XML 标签进行定义。XML 标签对大小写敏感。在 XML 中,标签 与标签 是不同的。必须使用相同的大小写来编写打开标签和关闭标签:这是错误的。这是正确的。 注释:打开标签和关闭标签通常被称为开始标签和结束标签。不论您喜欢哪种术语,它们的概念都是相同的。XML 必须正确地嵌套在 HTML 中,常会看到没有正确嵌套的元素:This text is bold and italic在 XML 中,所有元素都必须彼此正确地嵌套:This text is bold and italic在上例中,正确嵌套的意思是:由于 元素是在 元素内打开的,那么它必须在 元素内关闭。XML 文档必须有根元素XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。 . XML 的属性值须加引号与 HTML 类似,XML 也可拥有属性(名称/值的对)。在 XML 中,XML 的属性值须加引号。请研究下面的两个 XML 文档。第一个是错误的,第二个是正确的:GeorgeJohn GeorgeJohn 在第一个文档中的错误是,note 元素中的 date 属性没有加引号。实体引用在 XML 中,一些字符拥有特殊的意义。如果你把字符 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。这样会产生 XML 错误:if salary 1000 then为了避免这个错误,请用一个实体引用来代替 字符:if salary < 1000 then 在 XML 中,有 5 个预定义的实体引用:<大于&&和号'单引号"引号注释:在 XML 中,只有字符 和 & 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。XML 中的注释在 XML 中编写注释的语法与 HTML 的语法很相似: 在 XML 中,空格会被保留HTML 会把多个连续的空格字符裁减为一个:HTML:Hello my name is David.输出:Hello my name is David.在 XML 中,文档中的空格不会被删节。XML 以 LF 存储换行在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。XML 元素可以在开始标签中包含属性,类似 HTML。属性 (Attribute) 提供关于元素的额外信息。XML 属性从 HTML,你会回忆起这个:。src 属性提供有关 元素的额外信息。在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息: 属性通常提供不属于数据组成部分的信息。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:computer.gifXML 属性必须加引号属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 标签可以这样写:或者这样也可以:注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:或者可以使用实体引用:XML 元素 vs. 属性请看这些例子: Anna Smith female Anna Smith 在第一个例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。我最喜欢的方式下面的三个 XML 文档包含完全相同的信息:第一个例子中使用了 date 属性:GeorgeJohnReminderDont forget the meeting! 第二个例子中使用了 date 元素:08/08/2008GeorgeJohnReminderDont forget the meeting! 第三个例子中使用了扩展的 date 元素(这是我的最爱): 08 08 2008GeorgeJohnReminderDont forget the meeting!避免 XML 属性?因使用属性而引起的一些问题: 属性无法包含多个值(子元素可以) 属性无法描述树结构(子元素可以) 属性不易扩展(为未来的变化) 属性难以阅读和维护请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。不要做这样的蠢事(这不是 XML 应该被使用的方式):针对元数据的 XML 属性有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论