用PHP与XML联手进行网站编程代码实例

一、小序 

  HTML轻便命理术数又通用,平时的PHP程序便是放置在HTML语言之中完毕的。不过随着WEB越来越宽广的应用,HTML的缺点也愈发明显了。XML的产出,弥补了这一个不足,它提供了三个能够管理互联互连网一切数指标通用方法。

  二、HTML的局限性解析

  1、 HTML的可扩大性差。纵然作为平日的应用,HTML应经够用了,可是在管理数学和化学等标记时,HTML有明显的欠缺,何况它不可能张开扩充,那样使它的发展选用了高大的界定。

  2、 链路不见后不能够自动改过。由于Web页面包车型客车URAV4L地址平常更动,而在转移U景逸SUVL地址时必须手工资制度改正革那么些新闻,不然就能够遭遇“404U奥德赛L地址未找到”的音信,那大大加重了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是用UENVISIONL加以分化的、在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 值。

发表评论

电子邮件地址不会被公开。 必填项已用*标注