PHP与XML技术
XML的概述
XML(eXtensibleMarkup Language),扩展性标记语言,它是用来描述其他语言的语言。它允许用户设计自己的标记。XML是由W3C(WorldWide
月发布的一种标准;它的前身是SGML(StandardGeneralized
MarkupLanguage,标准通用置标语言)。XML产生的原因是为了补充HTML语言的不足,使网路语言更规范化、多样化。
HTML语言被称为第一代web语言,现在的版本为4.0,以后将不再更新,取而代之的是XHTML。而XHTML正是根据XML来制定的。XML有如下特点:
)易用性:XML可以使用多种编辑器来进行编写,包括记事本等所有的纯文本编辑器。
)结构性:XML是具有层次结构的标记语言,包括多层的嵌套。
)开放性:XML语言允许开发人员自定义标记,这使得不同的领域都可以有自己的特色方案。
)分离性:XML语言将数据的显示和数据内容分开保存,各自处理。使得基于XML的应用程序可以在XML文件中准确高效地搜索相关的数据内容,忽略其他不相关部分。
XML语法
XML文档结构
在开始讲解XML语法之前,先来熟悉一下XML的文档结构,代码如下:
<?xmlversion="1.0" encoding="gb2312"standalone="yes"?>
<?xml-stylesheet type="text/css"href="Book.css"?>
<!-- 下面的标签<计算机图书>就是这个XML文档的根目录
-->
<计算机图书>
<PHP>
<书名>PHP程序开发范例宝典</书名>
<价格 单位="元/本">89.00</价格>
<出版时间>2007-09-01</出版时间>
</PHP>
</计算机图书>
这就是一个XML文档的最基本的元素,包括XML声明、处理指令(PI)、注释、元素等等,下面就来一一说明。
XML声明
XML声明在文档中只能出现一次,而且必须是在第一行,连空行也不允许存在。XML声明包括了XML版本、编码等信息。示例如下:
<?xml version="1.0"encoding="gb2312" standalone="yes"?>
XML声明的各部分的含义如表所示。
处理指令
顾名思义,就是如何处理XML文档的指令。有一些XML分析器可能对XML文档的应用程序不做处理,这时可以指定应用程序按照这个指令信息来处理,然后在传给下一个应用程序。XML声明其实就是一个特殊的处理指令。处理指令的格式为:
<?处理指令名 处理执行信息?>
例如:下面创建一个处理指令,代码如下。
<?xml-stylesheettype = "text/css"href="Book.css"?>
具体含义是:
xml-stylesheet:样式表单处理指令。指明了该XML文档所使用的样式表。
type="text/css":设定了文档所使用的样式是css。
href="Book.css":设定了样式文件的地址。
注释
XML中的注释和HTML是一样的,使用“<!--”和“-->”作为开始和结束界定符。注释的用法十分简单,这里只介绍一下在使用注释时要注意的几个问题。
这是错误的 -->>。
XML元素
元素是每个XML文档不可或缺的部分,也是文档内容的基本单元。每个XML文档至少要包含一个元素。一般的元素由三部分组成,格式如下:
<标签>数据内容</标签>
其中<标签>为元素的开始标签,</标签>是元素的结束标签,中间的数据内容是元素的值。这里要注意的是标签的写法:
XML属性
XML属性是XML元素中的内容,是可选的。XML属性和HTML中的属性在功能上十分的相似,但XML属性在格式上更加严格,使用上更加灵活。XML属性的格式为:
<标签 属性名="属性值"属性名=""…>内容</标签>
这里要注意:
使用CDATA标记
在XML中对于特殊字符“>”、“<”和“&”的输入需要使用实体引用来处理,实体引用就使用“&…;”的形式来代替那些特殊字符。表是XML中所用到的实体引用。
CDATA标记的格式如下:
<![CDATA[
…
]]>
例如:创建一个XML文件,并且通过实体引用和CDATA标记来显示特殊符号,其代码如下:
<?xmlversion="1.0" encoding="GB2312"?>
<exam>
<实体引用>这里必须使用引用“<”、“>”、“&”</实体引用>
<CDATA标记>
<![CDATA[
这里可以正常输出“<”、“>”、“&”。
]]>
</CDATA标记>
</exam>
XML命名空间
命名空间通过在元素前面增加一个前缀来保证元素和属性的唯一性。它的最重要用途是用于融汇不同的XML文档。命名空间的格式为:
<标签名称 xmlns:前缀名称="URL">
例如:在创建的XML文件中,对元素<外语图书>使用命名空间,代码如下。
<?xml version="1.0"encoding="gb2312" standalone="yes"?>
<外语图书 xmlns:frn="http://www.bccd.com/foreign">
<frn:English>
<frn:书名>许国璋英语</frn:书名>
<frn:价格货币种类="RMB"单位="4本">80.00</frn:价格>
<frn:出版时间>1996-05-10</frn:出版时间>
</frn:English>
</外语图书>
版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226
PHP与XML技术的更多相关文章
- XML技术的应用
XML技术的发展历史:gml--->sml--->html--->xml(可扩展标记语言). HTML和XML技术的区别: 1.HTML技术的标签不能自己定义,必须使用规定语法编写: ...
- C# XML技术总结之XDocument 和XmlDocument
引言 虽然现在Json在我们的数据交换中越来越成熟,但XML格式的数据还有很重要的地位. C#中对XML的处理也不断优化,那么我们如何选择XML的这几款处理类 XmlReader,XDocument ...
- 打造完美的xml技术解决方案(dom4j/xstream)
转: XML 技术是随着 Java 的发展而发展起来的.在 XML 出现之前对于简单的数据格式通常是存储在 ini 配置文件等文本文件中,复杂的格式则采用自定义的文件格式,因此对于每种文件格式都要有专 ...
- xml技术DTD约束定义
XML约束 在XML技术中,可以编写一个文档来约束一个xml文档的书写规范,这称之为XML约束为什么需要XML约束? class.xml <stu><面积>?人怎么会有面积元素 ...
- 【Java】Java XML 技术专题
XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...
- JavaEE:Eclipse开发工具的相关使用和XML技术
Eclipse开发工具的知识点1.工程的属性(properties)1)Text file encoding 工程编码(在导入其他工程时,注意编码类型一致)2)Java build path设置cl ...
- XML技术思想
百科名片: 可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- 14.PHP_PHP与XML技术
PHP与XML技术 先把概念粘过来: 先来个基本模板: <?xml version="1.0" encoding="gb2312" standalone= ...
- XML技术的作用?
XML技术用于数据存储.信息配置.数据交换三方面. 可以将数据存储在XML中,通过节点.元素内容.属性标示数据内容及关系. 可以使用XML很方便的做信息配置,软件的各种配置参数和对象关系都存贮在XML ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
随机推荐
- sqlserver2008中删除了windows用户,导致无法登陆的解决方案
打开管理工具中的"服务",找到并关闭SQL Server服务.进入命令进入SQL Server 2008的安装目录,找到sqlservr.exe文件,执行命令:sqlservr - ...
- 【48】java抽象类和接口的定义和区别
首先看看他们的区别: 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力. ...
- Mina源码阅读笔记(四)—Mina的连接IoConnector2
接着Mina源码阅读笔记(四)-Mina的连接IoConnector1,,我们继续: AbstractIoAcceptor: 001 package org.apache.mina.core.rewr ...
- javascript语言扩展:可迭代对象(2)
在文章迭代器(1)中我们简单介绍了如何创建一个可迭代对象:出于某种考虑你可能想从可迭代对象中显式获取一个迭代器对象,这时你可以调用Iterator()函数(该函数是定义在JavaScript 1.7中 ...
- javascript原始值和对象引用
一句话来说:原始值是不可变的,而对象引用是可变的. js中的原始值(undefined.null.布尔值.数字和字符串)与对象(包括数组和函数)有着本质的区别.原始值是不可更改的,任何方法都无法更改一 ...
- FCL源码中数组类型的学习及排序函数Sort函数的分析
Array 是所有数组的基类ArrayList 解决了所有Array 类的缺点 能动态扩容, 但是类型不安全的,而是会有装箱与拆箱的性能开销List<T> 则是解决了ArrayLis ...
- 项目群MSP课程最大的特点
1.课程中间让大家去了解和理解项目群管理的知识体系.方法论,更关注大家的个性化需求: 2.课程中间还会有很多练习和讨论,特别是会请到一些业界在实践MSP的客户,进行他们的实践案例分享.所以从知识到实际 ...
- CSS 文章链接
文本溢出显示为省略号 Ellipsis for text overflow in table cell?
- 编程题:利用for循环打印 9*9 表?
利用for循环打印 9*9 表? 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 ...
- Spring 框架的优点及缺点
首先Spring 是一个框架,使用Spring并不代表代码质量的提高,就像盖房子选择用上海的地皮还是北京的地皮一样,房子质量与土地所在的城市无关,与房子的具体设计方案和选料有关. 使用Spring 等 ...