xml文件格式.docx
- 文档编号:24948596
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:17
- 大小:130.75KB
xml文件格式.docx
《xml文件格式.docx》由会员分享,可在线阅读,更多相关《xml文件格式.docx(17页珍藏版)》请在冰豆网上搜索。
xml文件格式
XML文件结构
一个XML文件通常包含文件头和文件体两大部分
1. 文件头
XML文件头由XML声明与DTD文件类型声明组成。
其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。
在前面的Flowers.xml文件中的第一行代码即为XML声明:
xmlversion="1.0"encoding="gb2312"?
>
其中:
“
”代表一条指令的开始,“?
>”代表一条指令的结束;
“xml”代表此文件是XML文件;
“ version="1.0" ”代表此文件用的是XML1.0标准;
“ encoding="gb2312" ” 代表此文件所用的字符集,默认值为Unicode,如果该文件中要用到中文,就必须将此值设定为gb2312。
注意:
XML声明必须出现在文档的第一行。
2. 文件体
文件体中包含的是XML文件的内容,XML元素是XML文件内容的基本单元。
从语法讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。
XML元素与HTML元素的格式基本相同,其格式如下:
<标记名称 属性名1="属性值1" 属性名1="属性值1" ……>内容标记名称>
所有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。
最外层的是根元素(Root),又称文件(Document)元素,所有的元素都包含在根元素内。
在前面的Flowers.xml文件中,根元素就是
4.1.2 XML的基本语法
1. 注释
XML的注释与HTML的注释相同,以“
--”开始,以“-->”结束。
2. 区分大小写
在HTML中是不区分大小写的,而XML区分大小写,包括标记,属性,指令等。
3. 标记
XML标记与HTML标记相同,“<”表示一个标记的开始,“>” 表示一个标记的结束。
XML中只要有起始标记,就必须有结束标记,而且在使用嵌套结构时,标记之间不能交叉。
在XML中不含任何内容的标记叫做空标记,格式为:
<标记名称/>
4. 属性
XML属性的使用与HTML属性基本相同,但需要注意的是属性值要加双引号。
5. 实体引用
实体引用是指分析文档时会被字符数据取代的元素,实体引用用于XML文档中的特殊字符,否则这些字符会被解释为元素的组成部分。
例如,如果要显示“<”,需要使用实体引用“<”否则会被解释为一个标记的起始。
XML中有5个预定义的实体引用,如表 4.1所示。
表 4.1 XML预定义的实体引用
<
<
>
>
"
"
'
'
&
&
6. CDATA
在XML中由一个特殊的标记CDATA,在CDATA中所有文本都不会被XML处理器解释,直接显示在浏览器中,使用方法如下:
[CDATA[
这里的内容可以直接显示。
]]>
7. 处理指令
处理指令使用来给处理XML文件的应用程序提供信息的,处理指令的格式如下:
处理指令名称 处理指令信息?
>
例如,XML声明就是一条处理指令:
xmlversion="1.0"encoding="gb2312"?
>
其中,“xml”是处理指令名称,version="1.0"encoding="gb2312"是处理指令信息。
4.2 XML与CSS
利用CSS可以用来设定XML文件的显示方式,即在XML文件的头部,XML声明的下面加入下面一条语句:
xml:
stylesheettype="text/css"href="css文件的URL"?
>
下面我们通过例子来介绍如何利用CSS来显示XML文件。
首先建立一个css文件,代码如下:
flowers.css:
一个显示XML文件的CSS样式
flower{font-size:
24px;display:
block}
vendor{font-size:
36px;color:
red}
price{display:
block}
然后,在flowers.xml文件中使用这个css样式,即在flowers.xml文件中的XML声明下面加入以下语句:
xml:
stylesheettype="text/css"href="flowers.css"?
>
完整的程序代码如下:
ex4_3_01.xml:
利用CSS 显示XML文件
xmlversion="1.0"encoding="gb2312"?
>
xml:
stylesheettype="text/css"href="Flowers.css"?
>
此例在浏览器中的显示效果如图 4.2所示。
图 4.2 利用CSS 显示XML文件
用CSS来显示XML文件时,不具备任何选择性,也就是说,根元素之下的所有数据都会被全部显示,不能改变原文件的结构和内容的顺序。
另外,CSS并不支持中文标记,因为CSS 不是专门为XML开发的样式语言,而下面要介绍到的XSL就可以,XSL是特别为XML设计的,它比CSS更为复杂。
4.3 XSL
在上一节介绍的用CSS显示XML文件,效果不是很理想,实际上,CSS主要是适合HTML文件,对于XML这种数据文件,CSS就不适合了,尤其是对那些需要按照不同的条件将文件内容重新排列显示的情况,而用XSL就可以。
XSL是当前最强大和灵活的样式语言,是特别为应用XML而设计的,它比CSS要复杂的多。
但是,目前它还未被很好的支持,也还没有最后完成。
利用XSL来设定XML文件的显示方式,即在XML文件的头部,XML声明的下面加入下面一条语句:
xml:
stylesheettype="text/xsl"href="xsl文件的URL"?
>
下面我们通过例子来介绍如何利用XSL来显示XML文件。
首先建立一个xsl文件,代码如下:
flowers.xsl:
用来显示XML文件的xsl文件
xmlversion="1.0"encoding="gb2312"?
>
stylesheetxmlns: xsl="http: //www.w3.org/TR/WD-xsl"> templatematch="/"> for-eachselect="//Flowers/Flower"> value-ofselect="Vendor"/> value-ofselect="Name"/> value-ofselect="Price"/>
for-each>
template>
stylesheet>
我们可以看出:
一个XSL文件就如一个空的HTML文件,通过填充一个XML文件产生一个传统的HTML文件。
一个XSL文件首先必须有一个XML声明(即第一行),因为XSL实际上是一种特殊的XML文件。
XSL的根元素是xsl:
stylesheet,即一个XSL文件必须以 stylesheet>标记开始,以
stylesheet>标记结束,xmlns:
xsl属性用于设定XSL的命名域。
XSL的根元素通常是由一个或多个样板元素所组成,在此例中只包含单一样板,它是由 template>标记开始,以 template>标记结束,使用match属性可以在XML文件中选取符合条件的节点,即设定样板名称,对于最上层样板,match设为“/”,代表整个XML文件的根元素。 然后是从XML文件中取得所需的数据,取得数据最简单的方法是: value-ofselect="模式"/> 如果要取得多个元素,则要使用xsl: for-each元素,格式如下: for-eachselect="模式"> ….. for-each> 接下来,我们要在flowers.xml文件中使用这个xsl文件,即在flowers.xml文件中的XML声明下面加入以下语句: xml: stylesheettype="text/xsl"href="flowers.xsl"? > 完整的程序代码如下: ex4_4_01.xml: 利用XSL 显示XML文件 xmlversion="1.0"encoding="gb2312"? > xml: stylesheettype="text/xsl"href="flowers.xsl"? > XML 是可扩展标记语言(ExtensibleMarkupLanguage)的缩写,其中的 标记(markup)是关键部分。 您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息。 您创建的文件,或文档实例 由元素(标记)和内容构成。 当从打印输出读取或以电子形式处理文档时,元素能够帮助更好地理解文档。 元素的描述性越强,文档各部分越容易识别。 自从出现标记至今,带有标记的内容就有一个优势,即在计算机系统缺失时,仍然可以通过标记理解打印出来数据。 标记语言从早期的私有公司和政府制定形式逐渐演变成标准通用标记语言(StandardGeneralizedMarkupLanguage,SGML)、超文本标记语言(HypertextMarkupLanguage,HTML),并且最终演变成XML。 SGML比较复杂,HTML(实际上仅是一组元素集)在识别信息方面不够强大。 XML则是一种易于使用和易于扩展的标记语言。 您可以使用XML创建自己的元素,从而能够更精确地表示自己的信息。 您可以在文档内部识别每个部分,而不是将文档看作仅由标题和段落组成。 为了提高效率,您可能需要定义数量一定的元素,并统一使用它们。 (您可以在文档类型定义(DocumentTypeDefinition,DTD)或模式(schema)中定义元素,稍后我将对此进行简要的描述)。 一旦习惯使用XML之后,就可以在构建文件时尝试处理元素名称。 构建XML 如前所述,XML文件由内容和标记组成。 您通过以标记包围内容的方式将大部分内容包含在元素中。 例如,假设您需要创建一本XML烹饪书。 您需要用XML编写名为 IceCreamSundae 的食谱。 为了标记食谱名,您需要将这个文本包含到元素中,即分别在文本的首末两端添加开始和结束标记。 可以将元素命名为 recipename。 要标记元素的开始标记,像这样将元素名放到尖括号中(<>): 然后输入文本IceCreamSundae。 在文本的后面输入结束标记,即将元素名放在尖括号内,然后在元素名前面加上一个终止斜杠(/),比如: 。 这些标记构成一个元素,您可以在元素的内部添加内容或其他元素。 您可以为某个文档或文档集创建元素名。 可以创建规则让元素根据您的特定需求组合起来。 元素名可以是比较具有针对性的,也可以是比较通用的。 您还可以创建决定添加何种元素的规则。 这些规则可以是严格的,也可以是松散的,这完全由您决定。 一定要为文档创建元素,以识别您认为重要的部分。 开始创建XML文件 XML文档的第一行可以是一个XML声明。 这是文件的可选部分,它将文件识别为XML文件,有助于工具和人类识别XML(不会误认为是SGML或其他标记)。 可以将这个声明简单地写成 xml? >,或包含XML版本( xmlversion="1.0"? >),甚至包含字符编码,比如针对Unicode的 xmlversion="1.0"encoding="utf-8"? >。 因为这个声明必须出现在文件的开头,所以如果打算将多个小的XML文件合并为一个大XML文件,则可以忽略这个可选信息。 创建根元素 根元素的开始和结束标记用于包围XML文档的内容。 一个文件只能有一个根元素,并且需要使用“包装器”包含它。 清单1 显示了经过删节的示例,其中的根元素名为 (参见 下载 小节获得完整的XML文件)。 清单1.根元素 1 2 3 xmlversion="1.0"encoding="UTF-8"? > 在构建文档时,内容和其他标记必须放在 命名元素 标记的大小写保持一致 创建XML时,要确保开始和结束标记的大小写是一致的。 如果大小写不一致,在使用或查看XML时将出现错误。 例如,如果大小写不一致,InternetExplorer将不能显示文件的内容,但它会显示开始和结束标记不一致的消息。 到目前为止,都使用 在XML中,先要为元素选择名称,然后再根据这些名称定义相应的DTD或schema。 创建名称时可以使用英文字母、数字和特殊字符,比如下划线(_)。 下面给出命名时需要注意的地方: ∙元素名中不能出现空格。 ∙名称只能以英文字母开始,不能是数字或符号。 (在第一个字母之后就可以使用字母、数字或规定的符号,或它们的混合)。 ∙对大小写没有限制,但前后要保持一致,以免造成混乱。 我们继续以前面的示例为例,如果添加了名为 清单2.更多元素 1 2 3 4 5 xmlversion="1.0"encoding="UTF-8"? > XML文档可以使用内部不包含任何内容的空标记,这些标记可以表示为单个标记,而不是一组开始和结束标记。 以类似于HTML的文件为例,里面的 它不包含任何子元素或文本,因此它是一个空元素,您可以将它表示为 嵌套元素 嵌套 即把某个元素放到其他元素的内部。 这些新的元素称为子 元素,包含它们的元素称为父 元素。 这些嵌套的子元素包括 XML文档可以使用多层嵌套。 一个常见的语法错误是父元素和子元素的错误嵌套。 任何子元素都要完全包含在其父元素的开始和结束标记内部。 每个同胞(Sibling)元素必须在下一个同胞元素开始之前结束。 清单3 的代码显示了正确的嵌套。 这些标记的开始和结束没有与其他标记混合 在一起。 清单3.正确嵌套的XML元素 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 xmlversion="1.0"encoding="UTF-8"? > 添加属性 有时候要为元素添加属性。 属性由一个名称-值对构成,值包含在双引号中("),比如: type="dessert"。 属性是在使用元素时存储额外信息的一种方式。 在同一个文档中,可以根据需要对每个元素的不同实例采用不同的属性值。 您可以在元素的开始标记内部输入一个或多个属性,比如: 如果要添加多个属性,各个属性之间使用空格分开,比如: 清单4 显示了当前的XML文件。 清单4.带有元素和属性的XML文件 1 2 3 4 5 xmlversion="1.0"encoding="UTF-8"? > 您可以根据需要使用任意数量的属性。 要考虑需要添加到文档的细节。 如果要对文档分类,属性尤其有用,比如按照菜谱的 type 进行分类。 属性名可以包含在元素名中使用的字符,规则也是类似的,即字符之间不能带有空格,名称只能以字母开始。 构造良好并且有效的XML 如果您根据结构规则创建XML,就很容易实现构造良好的XML。 构造良好的XML 即遵循所有XML规则创建的XML: 正确的元素命名,嵌套,属性命名等等。 要实现构造良好的XML取决于如何处理XML。 但考虑一下前面提到的示例,它要求根据菜谱类型进行分类。 您需要确保每个 能够正确验证并确保存在属性值是非常重要的(避免出现双关语)。 验证 就是根据元素规则检查文档的结构,以及如何为每个父元素定义子元素。 这些规则是在 文档类型定义(DocumentTypeDefinition,DTD)或模式(schema)中定义的。 验证要求您创建自己的DTD或schema,然后在XML文件中引用DTD或schema文件。 为了实现验证,必须在XML文档的顶部附近包含文档类型(DOCTYPE)。 这行代码将引用用于验证文档的DTD或schema(元素和规则列表)。 例如,DOCTYPE 可能类似于 清单5。 清单5.DOCTYPE 1 DOCTYPEMyDocsSYSTEM"filename.dtd"> 这个例子假设元素列表文件的名称是 filename.dtd,并且位于您的计算机上(如果指向公共文件位置,则 SYSTEM 和 PUBLIC 是相对的)。 使用实体 实体 可以是文本短语或特殊字符。 它们可以指向内部或外部。 必须正确地声明和表示实体,以避免错误和确保正确显示。 您不能直接在内容中输入特殊字符。 如果要在文本中使用符号,必须使用它的字符代码将它设置为实体。 您可以将短语(比如公司名)设置为实体,然后就可以在内容中使用该实体。 为了设置实体,必须先为它创建一个名称,然后将它输入到内容中,以and符号(&)开始,并以分号(;)结束—例如,&coname;。 然后在 DOCTYPE 的方括号([])内部输入代码,如 清单6 所示。 这个代码识别表示实体的文本。 清单6.ENTITY 1 2 3 DOCTYPEMyDocsSYSTEM"filename.dtd"[ ENTITYconame"RabidTurtle Industries" ]> 使用实体可以避免反复输入相同的短语和信息。 在很多情况下它还使得调整文本更加容易(变更公司名时),只需对实体定义进行简单调整。 避免错误 在学习创建XML文件时,在XML编辑器中打开它,以检查它的结构是否良好,并且确保您遵循XML规则。 例如,如果您使用Windows®InternetExplorer®,就可以在浏览器中打开XML。 如果它能够显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 文件格式