PHP中XML通信应用(一 XML的简单介绍)

PHP XML 通信应用

 

04 年刚开始工作的时候,那时候是在 .net 平台下进行开发,就接触过 XML WebService

XML 做配置项和构造树结构, Webservic 主要是做几个跨平台和跨系统的项目整合。

但是当时说实话,就是用,从来没有深究过。

最近又做个一个跨平台多个系统整合项目,不过这次就用 PHP 语言,所以将自己的一点心得写下来,不一定对,就当做自己的日记吧。

 

第一篇   XML 的简单介绍

XML Extensible Markup Language )即可扩展标记语言。 XML 语言是 W3C 组织在 1998 年发布的,当时是 XML1.0 版本。 XML 不是一开始就有的,它的雏形是 IBM GML 标准,后来 ANSI 对其进行整理、规范,发布了 SGML 标准,最终衍生为现在的 XML 标准。(这是顺便说一句 HTML 也是 SGML 衍生过来的)。

XML 本事是一种标记性语言,也是一种简单数据存储语言,通过简单的描述标记数据,接口简单易于掌握。

很多人刚开始接触 XML 或者别人介绍 XML 的时候,都会将其跟很多关系型数据库的数据存储方面进行比较,它没有所有关系型数据库的特性,索引、排序,存储、查找能力也不如其他数据库强。这点确实毋庸置疑,后面会说到如果读取分析一个 20M XML ,那是多么可怕的事情。

XML HTML 比较,也没有什么可比性,虽然他们同出一门。 XML 是用来存储数据, HTML 是用来显示数据的。

它真正的优势应该在跨平台、跨系统的远程服务通信。它是一种公共语言,虽然不同的语言都遵循的一样的标准,虽然说有些描述上有些诧异,但都是符合 W3C 组织的 XML 标准的。

简单的说一下 XML 结构 :

<? xml version="1.0" encoding="UTF-8" ?>

XML 的第一行是 XML 声明,告诉解析器和浏览器,这个文件应该按照前面讨论过的 XML 规则进行解析,它同时还指定 XML 的版本和文件的编码格式。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" >

XML 的第二行是 DOCTYPE 声明,设定 XML 的根标记 html ,文档类型 PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" ,文档类型有很多种,很多 IDE 工具建立 XML 时都有提示,最后一个是文档类型定义( DTD )。指定的 DTD 文件描述一个文档类型的结构。它可以帮助解析器验证 XML 文件与 DTD 是否标准一致,是否有效。(不写也行,很多解析器都不确认该信息。)

这里说说验证标准,我暂时查到资料有两种,一种是 DTD( 文档类型定义 ) ,还有一种是 schema 模式。 DTD 方式下,通过完全独立的 DTD 文件,不同的互联网厂商或者合作开发伙伴可以通过完全独立的 DTD 文件标准,进行 XML 交互。 XML Schema W3C 的标准,比 DTD 内容更加丰富,逐渐的取代 DTD ,需要的话可以参考 W3C 的教程。

接下来就是 XML 要描述的具体内容了,这里就不多说了,我相信大家都很熟悉了。

多说一下,关于特殊字符在 XML 中应用的问题。 <> XML 中的标记 。如果在文档的实体中想要使用 <> ,用 &lt; &gt; 来代替。其他非 ASCII 的字符也是如此,用( & )开始(;)结束。 http://www.w3.org/TR/REC-html40/sgml/entities.html 中对照表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值