0

0

XML文件结构和基本语法

高洛峰

高洛峰

发布时间:2016-12-19 16:08:07

|

1862人浏览过

|

来源于php中文网

原创

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”代表此文件是XML文件;

“ version="1.0" ”代表此文件用的是XML1.0标准;

“ encoding="gb2312" ” 代表此文件所用的字符集,默认值为Unicode,如果该文件中要用到中文,就必须将此值设定为gb2312。

 

注意:XML声明必须出现在文档的第一行。

 

2.         文件体

文件体中包含的是XML文件的内容,XML元素是XML文件内容的基本单元。从语法讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。

 

XML元素与HTML元素的格式基本相同,其格式如下:

内容标记名称>

 

所有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。最外层的是根元素(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处理器解释,直接显示在浏览器中,使用方法如下:

这里的内容可以直接显示。

]]>

 

7.         处理指令

处理指令使用来给处理XML文件的应用程序提供信息的,处理指令的格式如下:

              例如,XML声明就是一条处理指令:

其中,“xml”是处理指令名称,version="1.0" encoding="gb2312"是处理指令信息。

4.2         XML与CSS

利用CSS可以用来设定XML文件的显示方式,即在XML文件的头部,XML声明的下面加入下面一条语句:

       

 

下面我们通过例子来介绍如何利用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声明下面加入以下语句:

 

完整的程序代码如下:

ex4_3_01.xml:利用CSS 显示XML文件

 

       shop1

       iris

       $4.00

       shop2

云网OA
云网OA

采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C

下载

       iris

       $4.30

       shop3

       iris

       $3.50

      

       此例在浏览器中的显示效果如图 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声明的下面加入下面一条语句:

       

 

下面我们通过例子来介绍如何利用XSL来显示XML文件。首先建立一个xsl文件,代码如下:

flowers.xsl:用来显示XML文件的xsl文件

    

    

           

           

           

    

    

    

           

           

           

    

    

    

Vendor Flower Price

 

我们可以看出:一个XSL文件就如一个空的HTML文件,通过填充一个XML文件产生一个传统的HTML文件。

一个XSL文件首先必须有一个XML声明(即第一行),因为XSL实际上是一种特殊的XML文件。XSL的根元素是xsl:stylesheet,即一个XSL文件必须以标记开始,以标记结束,xmlns:xsl属性用于设定XSL的命名域。

XSL的根元素通常是由一个或多个样板元素所组成,在此例中只包含单一样板,它是由

然后是从XML文件中取得所需的数据,取得数据最简单的方法是:

如果要取得多个元素,则要使用xsl:for-each元素,格式如下:

…..

 

 

接下来,我们要在flowers.xml文件中使用这个xsl文件,即在flowers.xml文件中的XML声明下面加入以下语句:

 

完整的程序代码如下:

ex4_4_01.xml:利用XSL 显示XML文件

 

       shop1

       iris

       $4.00

       shop2

       iris

       $4.30

       shop3

       iris

       $3.50

更多xml文件结构和基本语法相关文章请关注PHP中文网!

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

PHP面向对象基础课程(更新中)
PHP面向对象基础课程(更新中)

共12课时 | 0.7万人学习

Swoole系列-从0到1-新手进阶
Swoole系列-从0到1-新手进阶

共29课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号