PHP使用XSL stylesheets解析转换XML文件
PHP与XSL stylesheets相结合来处理XML文档,似乎大家不常用,不过这却是一个很有用的技巧,在众多大型php web应用中,你肯定见到过与XSL stylesheets结合的例子,只是你可能不知道那是什么玩意,今天通过一个简单的例子,让你对PHP使用XSL stylesheets解析转换XML文档有一个大致的了解。
在开始之前,我们先准备两个XML文档,之后会将第一个XML文档输入XSL解析器。同时,第二个XSL文档中的XSL stylesheet也会被输入XSL解析器。
XML文档:文件名:order.xml
<?xml version="1.0" ?> <Order> <Account>9900234</Account> <Item id="1"> <SKU>1234</SKU> <PricePer>5.95</PricePer> <Quantity>100</Quantity> <Subtotal>595.00</Subtotal> <Description>Super Widget Clamp</Description> </Item> <Item id="2"> <SKU>6234</SKU> <PricePer>22.00</PricePer> <Quantity>10</Quantity> <Subtotal>220.00</Subtotal> <Description>Mighty Foobar Flange</Description> </Item> <Item id="3"> <SKU>9982</SKU> <PricePer>2.50</PricePer> <Quantity>1000</Quantity> <Subtotal>2500.00</Subtotal> <Description>Deluxe Doohickie</Description> </Item> <Item id="4"> <SKU>3256</SKU> <PricePer>389.00</PricePer> <Quantity>1</Quantity> <Subtotal>389.00</Subtotal> <Description>Muckalucket Bucket</Description> </Item> <NumberItems>1111</NumberItems> <Total>3704.00</Total> <OrderDate>07/07/2002</OrderDate> <OrderNumber>8876</OrderNumber> </Order>
XSL文档:文件名:order.xsl
<?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="column" select="'SKU'"/> <xsl:param name="order" select="'ascending'"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="Order"> <xsl:with-param name="sortcolumn" select="$column" /> <xsl:with-param name="sortorder" select="$order" /> </xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="Order"> <xsl:param name="sortcolumn" /> <xsl:param name="sortorder" /> <table border="1"> <tr> <th>Account</th> <th>SKU</th> <th>Description</th> <th>Price</th> <th>Quantity</th> <th>Subtotal</th> </tr> <xsl:apply-templates select="Item"> <xsl:sort select="*[name()=$sortcolumn]" order="{$sortorder}" /> </xsl:apply-templates> </table> </xsl:template> <xsl:template match="Item"> <tr> <td><xsl:value-of select="../Account" /></td> <td><xsl:value-of select="SKU" /></td> <td><xsl:value-of select="Description" /></td> <td><xsl:value-of select="PricePer" /></td> <td><xsl:value-of select="Quantity" /></td> <td><xsl:value-of select="Subtotal" /></td> </tr> </xsl:template> </xsl:stylesheet>
下面是PHP通过XSL stylesheets来处理XML文档的代码演示,结合以上给出的XML和XSL文档代码,XML文档作为输入的XML文档,XSL文件则是XSL的输入文档,以下是PHP处理代码:
<?php $xmlfile = "order.xml"; $xslfile = "order.xsl"; $args = array("column"=>"Quantity", "order"=>"descending"); $engine = xslt_create();//创建XSL引擎 $output = xslt_process($engine, $xmlfile, $xslfile, NULL, NULL, $args);//处理 print $output;//输出内容 xslt_free($engine);//关闭处理引擎 ?>
从上PHP代码主要是使用PHP的数组来存储名字对应参数,通过xslt_process函数将名字传递给XSL引擎。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法