0

0

XML技术的介绍及php对XML的支持_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:31:57

|

1025人浏览过

|

来源于php中文网

原创

一、小序
  
  html简单易学又通用,一般的php程序就是嵌入在html语言之中实现的。但是随着web越来越广泛的应用,html的弱点也越来越明显了。xml的出现,弥补了这些不足,它提供了一个能够处理互联网上全部数据的通用方法。

  
  二、html的局限性分析
  
  1、 html的可扩展性差。虽然作为一般的应用,html应经够用了,但是在处理数学和化学等符号时,html有明显的缺点,而且它无法进行扩展,这样使它的发展收到了极大的限制。
  
  2、 链路丢失后不能自动纠正。由于web页面的url地址经常改变,而在改变url地址时必须手工修改这些信息,否则就会遇到“404url地址未找到”的信息,这大大加重了web页面的维护工作量。
  
  3、 数据搜索的时间长。由于html主要用来对网页的显示进行控制,导致了同一个数据在不同的网页中有不同的存储格式,这样在进行数据搜索时就无法快速找到所需的资料。
  
  4、 html对双字节或者多国文字的支持不够。例如中文信息页面在不同的平台下会出现无法显示等问题。
  
  正是由于这些缺点,人们研究了能够代替html的web页面制作语言。其中已经投入使用的有:可扩展标记语言xml、层叠样式表(css)以及动态html(dhtml)等。

  
  三、xml的组成
  
  这里简要列举几种主要的xml技术:
  
  1、 dtd(文档类型声明)
  
  dtd的主要功能是定义xml的内容模式;限制xml标记的数据范围;定义属性的数据类型。但由于它不是用xml编写的,因此扩展性比较差;而且只提供了有限的几种数据类型,因此它的作用是有限的。
  
  2、 xml schema
  
  xml schema的作用和dtd类似。但不同的是,schema文件所描述的是引用它的xml文件中的元素和属性的具体类型。另外,由于它是由xml编写的,schema和dtd相比较还有以下优点:
  
  ·xml schema内容模型是开放的,可以随意扩充,而dtd无法解析扩充的内容。
  
  ·dtd只能把内容类型定义为一个字符串,而xml schema允许把内容类型定义为整型、浮点型、布尔型或者许多其它的简单数据类型。
  
  ·xml schema利用namespaces将文档中特殊的节点与schema相联系,一个xml文件可以有多个对应的schema,而一个xml文件只能有一个dtd。
  
  3、 xlink
  
  作为一种web语言,xml的链接能力是非常重要的。xml的链接和定址机制包括xlink、xpath和xpointer。xlink提供功能强大的链接方法,可以在文档之间建立单向或多向的复杂联结关系,还有注释链接、概要链接、扩展链接集等多种链接功能。xpath在xslt和xpointer中使用,支持在xml文档中相对于节点和节点集的定位。xpointer在xpath的基础上提供对xml文档的内容的内部结构(如一个字符串或者选择的一个段落)的定位。xml的链接能力比html有了很大的增强。
  
  4、 css与xsl
  
  xml的一大特点就是内容与格式分离,也就是说,xml文档中并不包含如何显示/表示文档的信息。css与xsl(xml style language)解决了xml文档的显示问题。
  
  css(层叠样式表)也可以用在html和xml中。xsl完全使用xml的语法,功能比css要强大得多。
  
  5、 dom
  
  文档对象模型(dom)是一个与平台、语言无关的程序接口,它提供了动态访问和更新文档的内容、结构与风格的手段。可以对文当作进一步的处理,并将处理的结果更新到表示页面。
  
  dom的目标就是为xml和html定义一个标准的编程接口,它包括核心、html和xml三部分。dom的核心部分建立了一套底层的足浴粉对象集,它们可以表示任何结构化的文档。html和xml提供了高层的接口,可以作为更方便的文档视图。dom规范由对象和方法组成。程序员使用它们可以更容易地对特定类型的足浴粉文档进行访问和操作。
  
  6、 namespaces
  
  namespaces是用url加以区别的、在xml文件的元素和属性中出现的所有名称的集合。在xml中,用户可以自己定义标记和元素。因此,如果把多个xml文件合并为一个,就很可能出现冲突。namespaces则解决了这个问题。

  
  四、php对xml的支持
  
  php对xml提供了的强大的支持。它使用了一个xml的“解析器”,并且为了支持这个解析器,它提供了20(php4)个xml的解析函数。下面是几个最常用的php解析函数。
  
  1. xml_parse
  
  boolean xml_parse(int parser, string data, int [isfinal]);
  
  本函数用来解析 xml 格式的文件资料。参数 parser 为解析代码。参数 data 为解析的资料区块 (chunk)。参数 isfinal 可省略,若设为 true 则系统会自动送出最后的足浴粉资料部分 (piece) 给 data 参数。若无错误则返回 true 值。
  
  2. xml_parser_create
  
  int xml_parser_create(string [encoding]);
  
  本函数用来初始化一个新的 xml 解析器。参数 encoding 可省略,为 xml 使用的字符集,默认值为 iso-8859-1,其它尚有 us-ascii、utf-8 二种。成功则返回 parser 代码供其它函数使用,失败则返回 false 值。
  
  3. xml_set_element_handler
  
  boolean xml_set_element_handler(int parser, string startelementhandler, string endelementhandler);
  
  本函数配置元素的标头供 xml_parse() 函数使用。参数 parser 为解析代码。参数 startelementhandler 及 endelementhandler 分别为元素开始与结束的标头,其中的 startelementhandler 必须包括解析代码、名称、与属性,而 endelementhandler 参数包括了解析足浴粉代码及名称二个参数。若无错误则返回 true 值。
  
  4. xml_set_character_data_handler
  
  boolean xml_set_character_data_handler(int parser, string handler);
  
  
  本函数配置字符资料的标头。参数 parser 为解析代码。参数 handler 包括解析代码及资料字符串等二个元素。若无错误则返回 true 值。
  
  5. xml_get_error_code
  
  int xml_get_error_code(int parser);
  
  本函数可取得 xml 在处理时的错误代码。参数 parser 为解析代码。若 parser 有错则返回 false 值,否则就返回错误代码 (如 xml_error_binary_entity_ref .... 等等)。
  
  6. xml_error_string
  
  string xml_error_string(int code);
  
  本函数可取得 xml 在处理时的错误足浴粉代码。参数 code 为解析错误代码。若无错误返回值为代码的文字描述字符串。
  
  7. xml_get_current_line_number
  
  int xml_get_current_line_number(int parser);
  
  本函数用来取得目前 xml 解析所正在处理的行号。参数 parser 为解析代码。若 parser 有错则返回 false 值,若无错误则返回足浴粉行号数字。
  
  8. xml_parser_free
  
  boolean xml_parser_free(int parser);
  
  本函数用来释放目前 xml 解析所使用的内存。参数 parser 为解析代码。若没有错误则返回 true 值,否则返回 false 值。

PHP房产程序[BBWPS]
PHP房产程序[BBWPS]

[PHP房产程序|BBWPS]功能介绍 1、5种信息类别发布:出租、求租、出售、求购、楼盘信息,支持会员发布信息审核; 2、灵活的信息参数设置; 3、充足的信息字段; 4、简单易用的发布/编辑功能,支持配图上传; 5、灵活的信息管理功能; 6、信息输出伪静态,方便搜索引擎抓取数据; 7、支持RSS输出; 8、内置数据高速缓冲技术,可灵活设置缓冲功能是否启动及过期时间; 9、支持 Google 地图

下载

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/760153.htmlTechArticle一、小序 HTML简单易学又通用,一般的PHP程序就是嵌入在HTML语言之中实现的。但是随着WEB越来越广泛的应用,HTML的弱点也越来越明显了。...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

2

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

1

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

0

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

56

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

53

2026.02.27

php框架基础教程
php框架基础教程

本合集涵盖2026年最新PHP框架入门知识与基础教程,适合初学者快速掌握主流框架核心概念与使用方法。阅读专题下面的文章了解更多详细内容。

1

2026.02.27

php框架怎么用
php框架怎么用

本合集专为零基础学习者打造,系统介绍主流PHP框架的安装、配置与基础用法,助你快速入门Web开发。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

无禁词AI聊天软件下载大全
无禁词AI聊天软件下载大全

本合集精选多款免费、无违禁词限制的AI聊天软件,支持自定义角色、剧情畅聊,体验真实互动感。阅读专题下面的文章了解更多详细内容。

19

2026.02.27

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 19.2万人学习

Java 教程
Java 教程

共578课时 | 73.4万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.9万人学习

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

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