如何用php实现对xml的分页 如何,希望可以贴出一个实例!谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 解析成数组在 分页不可?参考http://topic.csdn.net/u/20081129/11/6f226b76-2495-4eb5-a98b-246564bfb07e.html 一个PHP+XML+XSL的分页范例 显示2007年09月21日 星期五 18:20test.php<?php $xsl = new DOMDocument; $xsl->load('1.xsl'); $xml = new DOMDocument; $xml->load('1.xml'); $processor = new xsltprocessor; $processor->importStyleSheet($xsl); echo $processor->transformToXML($xml); ?> 1.xml<?xml version="1.0" ?> <list> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> <item>6</item> <item>5</item> <item>6</item> <item>7</item> <item>8</item> <item>9</item> <item>10</item> <item>11</item> <item>12</item> <item>13</item> </list> 1.xsl<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="xml" indent="yes" encoding="utf-8" omit-xml-declaration="yes" media-type="application/xhtml+xml" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" /> <xsl:param name="size" select="20"/> <xsl:template match="list"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>dasdas</title> <script type="text/javascript"><![CDATA[ function nextPage(num){ document.getElementById("content"+num).style.display="block"; num--; document.getElementById("content"+num).style.display="none"; } function prevPage(num){ document.getElementById("content"+num).style.display="block"; num++; document.getElementById("content"+num).style.display="none"; } function onInitialize(){ document.getElementById("content1").style.display = "block"; } ]]></script></head> <body onload="javascript:onInitialize();"> <xsl:apply-templates select="item[position() mod $size = 1]"> <xsl:with-param name="pages" select="ceiling(count(item) div $size)"/> </xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="item"> <xsl:param name="pages"/> <xsl:variable name="page" select="position()"/> <div id="content{$page}" style="display:none;" title="content{$page}"> <xsl:for-each select="self::item|following-sibling::item[position()< $size]"> <div> <xsl:value-of select="."/> </div> </xsl:for-each> <div id="navBar"> <xsl:choose> <xsl:when test="$page = 1"> 第<xsl:value-of select="$page"/>页--- <a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>--- 共有<xsl:value-of select="$pages"/>页--- </xsl:when> <xsl:when test="$page = $pages"> 第<xsl:value-of select="$page"/>页--- <a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>--- 共有<xsl:value-of select="$pages"/>页--- </xsl:when> <xsl:otherwise> 第<xsl:value-of select="$page"/>页--- <a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>--- <a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>--- 共有<xsl:value-of select="$pages"/>页--- </xsl:otherwise> </xsl:choose> </div> </div> </xsl:template> </xsl:stylesheet> 参考 :xml+php动态载入与分页 网页编排问题 php中如何实现同步的函数synchronous 数据库分离后远程mysql主页面打开很慢 判断远程图片URL的问题 mail 发送附件问题!!!急,各位大人帮忙啊。(附带源码) 如何判断一个字符串在另一个字符串内 怎样在自画菜单中绘制渐变的颜色 如何去掉字符串中的换行符? cms的运行思路 thinkphp是怎么生成缩略图并和原图一起保存到数据库的不同字段 PHP中 应该如何写 无符号右移 $str = "/prcct/122/6337-56-1.tl"; 如何用preg_match分出来?
$xsl = new DOMDocument;
$xsl->load('1.xsl');
$xml = new DOMDocument;
$xml->load('1.xml');
$processor = new xsltprocessor;
$processor->importStyleSheet($xsl);
echo $processor->transformToXML($xml);
?>
1.xml
<?xml version="1.0" ?>
<list>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
</list>
1.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:output
method="xml"
indent="yes"
encoding="utf-8"
omit-xml-declaration="yes"
media-type="application/xhtml+xml"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<xsl:param name="size" select="20"/>
<xsl:template match="list">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>dasdas</title>
<script type="text/javascript"><![CDATA[
function nextPage(num){
document.getElementById("content"+num).style.display="block";
num--;
document.getElementById("content"+num).style.display="none";
}
function prevPage(num){
document.getElementById("content"+num).style.display="block";
num++;
document.getElementById("content"+num).style.display="none";
}
function onInitialize(){
document.getElementById("content1").style.display = "block";
}
]]></script></head>
<body onload="javascript:onInitialize();"> <xsl:apply-templates select="item[position() mod $size = 1]">
<xsl:with-param name="pages" select="ceiling(count(item) div $size)"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="item">
<xsl:param name="pages"/>
<xsl:variable name="page" select="position()"/>
<div id="content{$page}" style="display:none;" title="content{$page}">
<xsl:for-each select="self::item|following-sibling::item[position()< $size]">
<div>
<xsl:value-of select="."/>
</div>
</xsl:for-each>
<div id="navBar">
<xsl:choose>
<xsl:when test="$page = 1">
第<xsl:value-of select="$page"/>页---
<a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>---
共有<xsl:value-of select="$pages"/>页---
</xsl:when>
<xsl:when test="$page = $pages">
第<xsl:value-of select="$page"/>页---
<a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>---
共有<xsl:value-of select="$pages"/>页---
</xsl:when>
<xsl:otherwise>
第<xsl:value-of select="$page"/>页---
<a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>---
<a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>---
共有<xsl:value-of select="$pages"/>页---
</xsl:otherwise>
</xsl:choose>
</div>
</div>
</xsl:template>
</xsl:stylesheet>