您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

XML文件结构和基本语法

2025/9/18 1:39:00发布41次查看
xml文件结构和基本语法
分类: html java2010-03-12 17:04 903人阅读 评论(1) 收藏 举报
4.1.1               xml文件结构
一个xml文件通常包含文件头和文件体两大部分
1.         文件头
xml文件头由xml声明与dtd文件类型声明组成。其中dtd文件类型声明是可以缺少的,关于dtd声明将在后续的内容中介绍,而xml声明是必须要有的,以使文件符合xml的标准规格。
在前面的flowers.xml文件中的第一行代码即为xml声明:
<?xml version="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文件中,根元素就是<flowers>,根元素必须而且只能有一个,在该文件有三个<flower>子元素,这样的元素可以有多个。
4.1.2               xml的基本语法
1.         注释
xml的注释与html的注释相同,以“<!--”开始,以“-->”结束。
2.         区分大小写
在html中是不区分大小写的,而xml区分大小写,包括标记,属性,指令等。
3.         标记
xml标记与html标记相同,“<”表示一个标记的开始,“>” 表示一个标记的结束。xml中只要有起始标记,就必须有结束标记,而且在使用嵌套结构时,标记之间不能交叉。
在xml中不含任何内容的标记叫做空标记,格式为:<标记名称/>
4.         属性
xml属性的使用与html属性基本相同,但需要注意的是属性值要加双引号。
5.         实体引用
实体引用是指分析文档时会被字符数据取代的元素,实体引用用于xml文档中的特殊字符,否则这些字符会被解释为元素的组成部分。例如,如果要显示“<”,需要使用实体引用“&lt;”否则会被解释为一个标记的起始。
xml中有5个预定义的实体引用,如表 4.1所示。
表 4.1 xml预定义的实体引用
6. cdata
在xml中由一个特殊的标记cdata,在cdata中所有文本都不会被xml处理器解释,直接显示在浏览器中,使用方法如下:
<![cdata[
这里的内容可以直接显示。
]]>
7.         处理指令
处理指令使用来给处理xml文件的应用程序提供信息的,处理指令的格式如下:
<?处理指令名称 处理指令信息?>
              例如,xml声明就是一条处理指令:
<?xml version="1.0" encoding="gb2312"?>
其中,“xml”是处理指令名称,version=1.0 encoding=gb2312是处理指令信息。
4.2         xml与css
利用css可以用来设定xml文件的显示方式,即在xml文件的头部,xml声明的下面加入下面一条语句:
       <?xml:stylesheet type="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:stylesheet type="text/css" href="flowers.css"?>
完整的程序代码如下:
ex4_3_01.xml:利用css 显示xml文件
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/css" href="flowers.css"?>
<flowers>
<flower>
       <vendor>shop1</vendor>
       <name>iris</name>
       <price>$4.00</price>
</flower>
<flower>
       <vendor>shop2</vendor>
       <name>iris</name>
       <price>$4.30</price>
</flower>
<flower>
       <vendor>shop3</vendor>
       <name>iris</name>
       <price>$3.50</price>
</flower>
</flowers>
此例在浏览器中的显示效果如图 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:stylesheet type="text/xsl" href="xsl文件的url"?>
下面我们通过例子来介绍如何利用xsl来显示xml文件。首先建立一个xsl文件,代码如下:
flowers.xsl:用来显示xml文件的xsl文件
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl">
<xsl:template match = "/">
    <table border="1">
    <tr align="center">
           <th width="100">vendor</th>
           <th width="100">flower</th>
           <th width="100">price</th>
    </tr>
    <xsl:for-each select="//flowers/flower">
    <tr align="center">
           <td><xsl:value-of select="vendor"/></td>
           <td><xsl:value-of select="name"/></td>
           <td><xsl:value-of select="price"/></td>
    </tr>
    </xsl:for-each>
    </table>
</xsl:template>
</xsl:stylesheet>
我们可以看出:一个xsl文件就如一个空的html文件,通过填充一个xml文件产生一个传统的html文件。
一个xsl文件首先必须有一个xml声明(即第一行),因为xsl实际上是一种特殊的xml文件。xsl的根元素是xsl:stylesheet,即一个xsl文件必须以<xsl:stylesheet>标记开始,以</xsl:stylesheet>标记结束,xmlns:xsl属性用于设定xsl的命名域。
xsl的根元素通常是由一个或多个样板元素所组成,在此例中只包含单一样板,它是由<xsl:template>标记开始,以<xsl:template>标记结束,使用match属性可以在xml文件中选取符合条件的节点,即设定样板名称,对于最上层样板,match设为“/”,代表整个xml文件的根元素。
然后是从xml文件中取得所需的数据,取得数据最简单的方法是:
<xsl:value-of select="模式"/>
如果要取得多个元素,则要使用xsl:for-each元素,格式如下:
<xsl:for-each select="模式">
…..
</xsl:for-each>
接下来,我们要在flowers.xml文件中使用这个xsl文件,即在flowers.xml文件中的xml声明下面加入以下语句:
<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>
完整的程序代码如下:
ex4_4_01.xml:利用xsl 显示xml文件
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>
<flowers>
<flower>
       <vendor>shop1</vendor>
       <name>iris</name>
       <price>$4.00</price>
</flower>
<flower>
       <vendor>shop2</vendor>
       <name>iris</name>
       <price>$4.30</price>
</flower>
<flower>
       <vendor>shop3</vendor>
       <name>iris</name>
       <price>$3.50</price>
</flower>
</flowers>
更多xml文件结构和基本语法。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product