一、小序
  
  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 值。

转载于:https://www.cnblogs.com/xiongda/p/3619218.html

XML的介绍和PHP对XML的应用相关推荐

  1. Tomcat server.xml配置文件介绍

    一.server.xml文件介绍 1.server.xml作用     Server.xml配置文件用于对整个容器进行相关的配置. 2.server.xml文件的配置元素列表 <Server&g ...

  2. XML注入介绍--XXE,XEE,xpath等

    XML注入指在请求的XML中插入攻击利用代码.根据不同的场景,可能会形成以下的漏洞形式: (1)XEE ----xml entity xpansion(xml实体膨胀,用于dos) 具体介绍:http ...

  3. XML Schema介绍之namespace

    http://www.cnblogs.com/gzhnan/articles/1108442.html http://blog.csdn.net/zhch152/article/details/819 ...

  4. 【转载】 详细介绍Flex中操作XML

    一  在介绍Flex中操作XML之前,首先简单介绍下XML中的基本术语. 元素:XML中拥有开始标签和结束标签的这一块称为"元素"     节点:把XML元素与文本结合起来统称为节 ...

  5. XML —— DTD介绍

    一.DTD介绍 Document Type Definition: DTD是一种XML的约束方式,除了此种约束方式外,还有XSchema,XSchema比DTD的约束能力还要强,因此DTD正在逐渐淘汰 ...

  6. moxy json介绍_MOXy的对象图– XML和JSON的输入/输出局部模型

    moxy json介绍 假设您有一个要公开为RESTful服务的域模型. 问题是您只想输入/输出部分数据. 以前,您将创建一个代表子集的单独模型,然后使用代码在模型之间移动数据. 在EclipseLi ...

  7. php xml相关函数方法,php中对xml读取的相关函数的介绍一

    对象 XML解析函数 描述 元素 xml_set_element_handler() 元素的开始和结束 字符数据 xml_set_character_data_handler() 字符数据的开始 外部 ...

  8. java解析document_java 值Document解析xml详细介绍

    java 值Document解析xml详细介绍 使用jar包:jdom.jar 配置文件格式 global.xml 一.获取输入的值组成的结点 我们将每个结点使用"." 拼接起来, ...

  9. HTML、HTML5、XHTML、XML、XSL、DTD、XML Schema 简单介绍

    在学习 WEB 开发中,我们可能经常搞不清 HTML.HTML5.XHTML.XML.XSL.DTD.XML Schema 的概念,容易将其混为一谈,在网上搜集大量资料后,在此做一下总结. 在介绍上面 ...

最新文章

  1. 生态伙伴 | 番茄君入驻飞书,帮你一招搞定时间管理,告别拖延症!
  2. 自监督3D手部姿态估计方法
  3. 如何高效的学习掌握新技术
  4. 深蓝学院《从零开始手写VIO》作业一
  5. Windows下编写的脚本文件无法在Linux上运行的问题
  6. RecordBatch分析
  7. oracle联机文档使用,Sqlplus 联机文档学习
  8. java runtime 清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧...
  9. SQL:postgresql可以使用127.0.0.1连接不能使用ip连接解决方法
  10. ccc数据库的水平分割和垂直分割
  11. 深入浅出SSD--5.1PCIE基础知识
  12. google 翻译 tts 语音 tk tkk代码
  13. 诡异的 com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column “dat
  14. html5 blockquote,HTML blockquote 标签 | w3cschool菜鸟教程
  15. [Ubuntu]安裝搜狗輸入法
  16. ArcGIS小知识(九)——坡度、剖面曲率、坡向、等高线
  17. 2020年焊工(技师)考试内容及焊工(技师)考试申请表
  18. Raft源码分析(二) - Role转换
  19. python django下载 功能如何实现_Python中django文件传输下载功能的实现
  20. 不把Redis知识点吃透还想面试大厂拿高薪?这份Redis超牛笔记送给你!

热门文章

  1. linux 使cpu使用率升高_Linux系统中CPU占用率较高问题排查思路与解决方法
  2. mabatisplus怎么给实体类自定义属性_吊打面试官之:当实体类中的属性名和表中的字段名不一样 ,怎么办 ?...
  3. stringbuffer的最大长度_Java中的String、StringBuffer和StringBuilder
  4. python支持的数据类型float_Python基本数据类型之int 、 float
  5. UDP通讯C++实现
  6. 【vue插件篇】vue-form-check 表单验证
  7. Zookeeper的功能以及工作原理
  8. 3星|《掌控大趋势》:全球当前政治经济形式的资料汇编整理,对未来的预测很少,也缺乏独到深刻的见解...
  9. CRM系统助力企业找到最大盈利客户
  10. 机器学习——利用K-均值聚类算法对未标注数据分组