定义XML文档

原创 2012年03月24日 09:34:49

有三个通用术语用来描述XML文档的组成部分:标记,元素和属性。

n 标记是左尖括号(<)和右尖括号(>)之间的文本。有开始标记(例如:<zhuanye>)和结束标记(例如:</zhuanye>)。

n 元素是开始标记,结束标记以及位于二者之间的所有内容。在上面的样本中,<person>元素包含四个子元素<name>,<sex>,<daxue>,<zhuanye>.

n 属性是一个元素的开始标记中的名称-值对。如:

<tizhong  danwei='kg'>80</tizhong> danwei 是<tizhong>元素的属性。

定义XML基本语法要求:

n XML文档必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其它元素。如:

<aihao>

play majiang

</aihao>

XML文档包含在一个单一元素<aihao>中。

下面是一个不包含单一根元素的文档:

<aihao>play pike</aihao>

<aihao>play majiang</aihao>

不管该文档可能包含什么信息,XML解析器都会拒绝它。

n XML元素不能重叠。下面是一些不合乎规则的标记:

<person>刘德华<age>28</person></age>

如果您在<person>元素中开始了<age>元素,则必须在<person>元素中结束<age>元素。

如:<person>刘德华<age>49</age></person>

n 不能省去任何结束标记。在下面的XML文档里面标记是不合乎规则的。因为没有任何结束标记。

<person>刘德华

<age>49

n 空元素:如果一个元素根本不包含标记,则称为空元素。如:

<tizhong danwei="kg"></tizhong>

<tizhong danwei="kg"/> 是等价的。

n 元素是区分大小写的 在HTML中,<b>和<B>是相同的;在XML中,它们是不同的。如果您试图用</B>标记去结束<b>元素,那么将会出错。

<b>我爱深圳市计算机行业协会!</B> ---------错误

<b>我爱深圳市计算机行业协会!</b> ---------正确

属性的规则:

n 属性必须有值 

n 属性值必须用引号括起

请看下例:

<tizhong danwei></tizhong>  ---错误(属性无值)

<tizhong danwei=kg></tizhong> --错误(属性值没有用引号括起)

<tizhong danwei='kg'></tizhong>----正确

<tizhong danwei="kg"></tizhong>----正确

属性值可以用单引号括起,也可以用双引号括起,但是要始终保持一致。如果属性值包含单引号或双引号,则您可以使用另一种引号来括起该值。如:

description="zhangsan's JAVA is very well",或者使用实体"代表双引号,使用实体'代表单引号。实体是一个符号(如:"),XML解析器会用其它文本代替该符号(如: ")。

n XML声明: 大多数XML文档以XML声明作为开始,它向解析器提供了关于文档的基本信息。建议使用XML声明,但它不是必需的。如果有的话,那么它一定是文档的第一样东西。如下所示:

<?xml version="1.0" encoding="gb2312" standalone="no"?>

<?xml version="1.1" encoding="utf-8" ?>

声明最多可以包含三个名称-值对。

n version是使用的XML版本;目前最新版本为1.1

n encoding是该文档所使用的字符集。如没有指定encoding,XML解析器会假定字符在utf-8字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的unicode标准。

n standalone(可以是yes或no)定义了是否可以在不读取任何其它文件的情况下处理该文档。因为standalone="no"是缺省值,所以您很少会在XML声明中看到standalone。

n 注释可以出现在文档的任何位置;它们甚至可以出现在根元素的前面或后面。注释以<!--  开始,以 --> 结束。注释不能在结束部分以外包含双连字符 --;除此之外,注释可以包含任何内容。最重要的是,注释内的任何标记都忽略;如果您希望除去XML文档的一块较大部分,只需要用注释括住那个部分即可。(要恢复这个注释掉的部分,只需除去注释标记即可。)下面是包含注释的标记:

<!--  这里是注释  -->

n 处理指令: XML文件还可以包含处理指令(PI Processing Instruction),这些指令可以将命令或信息传给正在处理XML数据的应用。

通常它用来传递信息给解析器的下游程序。一般写法如下:

<?xml:stylesheet href="style.css" type="text/css"?>


XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?

答:1)两种形式:dtd 以及schema; 2)本质区别:schema 本身是xml 的,可以被XML 解析器解析(这也是从DTD上发展schema 的根本目的); 3)解析方式:有DOM,SAX,...
  • jushuairan
  • jushuairan
  • 2015年08月31日 07:22
  • 560

XML文档规则

下面总结几点XML的简单文档规则   1.XML文档有且仅有一个根元素     2.XML的语法是严格区分大小写的     3.如果不需要子内容,那么该XML元素就是一个空元素,写成:  ...
  • ray8567548
  • ray8567548
  • 2013年07月26日 15:43
  • 920

Java - XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

XML文档定义分为DTD和Schema两种形式,二者都是对XML语法的约束,其本质区别在于Schema本身也是一个XML文件,可以被XML解析器解析,而且可以为XML承载的数据定义类型,约束能力较之D...
  • chimomo
  • chimomo
  • 2017年11月01日 10:12
  • 160

【HTML/XML 6】XML文档的基本组成

导读:大致上,一个XML文档可以由三个部分组成,即声明区、定义区和文档主体区。在XML文档中,各个组成部分都包含特定的内容,有着不同的作用。本篇博客,通过分析上篇博客中的XML实例,来了解XML文档 ...
  • u013034889
  • u013034889
  • 2016年01月12日 23:00
  • 875

【XML定义】(2)XML标记语法、文档的语法和数据结构

XML标记语法 : (1)标记的命名规则 作为标记名字的字符串必须满足以下要求: ①名称的开头必须是字母或“_”; ②标记名称中不能有空格...
  • qq_35415600
  • qq_35415600
  • 2017年05月17日 00:56
  • 451

xml文档只能有一个顶层元素 例如:

Document Type Definition (DTD ,文档类型定义) xml文档只能有一个顶层元素 例如: 对于一个xml文档来说,       ...
  • u013803262
  • u013803262
  • 2015年01月18日 14:56
  • 2134

XML之Well-Formed文档规则

由于课程原因,近日粗略学习XML,载以博客是为担心忘记,以供日后复习之用。    XML标准中明确规定了XML文件应当遵守的规则,大致上分成基本规则和DTD(Document Type Definit...
  • qq_34992930
  • qq_34992930
  • 2017年02月28日 23:17
  • 145

XML之 ------ DTD(文档类型定义)

DTD (Document Type Definitions,文档类型定义) 一、DTD概述 1、XML文档是一种元标记语言,即一种定义标记语言的语言。在XML中可以创建新的标记...
  • u011479875
  • u011479875
  • 2015年11月05日 00:02
  • 1936

XML文档定义有几种形式?解析XML文档有哪几种方式?

http://blog.csdn.net/kobejayandy/article/details/9165689 XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? ...
  • lqglqglqg
  • lqglqglqg
  • 2015年08月23日 21:58
  • 295

xml学习(2)xml文档树结构图

XML 文档形成一种树结构 XML 文档必须包含根元素。该元素是所有其他元素的父元素。 XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。 所有元素均可拥有子元素: ...
  • yucihai
  • yucihai
  • 2013年11月20日 08:54
  • 1888
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:定义XML文档
举报原因:
原因补充:

(最多只允许输入30个字)