如何对XML文件进行分页

时间:2010-06-28 09:33:16

标签: xml pagination

我一直在寻找一种分页XML文件的方法,我开始认为它可能不可能..任何人都可以对此有所了解,是否有可能,我可以对数据库结果进行分页没有问题但无法找到办法......

看到一些例子,但是他们使用了XML文件中的ID字段,因为我不能自己编辑文件,只需要处理我所拥有的...

希望有人能帮忙......

3 个答案:

答案 0 :(得分:3)

XML没有页面概念,因为它不是UI技术。

你当然可以。您必须将XML解析为DOM对象,选择页面大小,然后以页面大小的块来遍历DOM。

您没有说明您正在使用哪种语言,或者您是否想要服务器或客户端。但这当然是可能的。

答案 1 :(得分:0)

您没有首先提到如何呈现XML,但是您可能希望查看例如: XSL-FO,支持分页。

答案 2 :(得分:0)

<?php
if(!$xml=simplexml_load_file("your.xml")) {

trigger_error('Error reading XML file',E_USER_ERROR);}


$ps = 16; // page size

$fr = $_GET["fr"];

if ($fr < 1) {

    $fr = 1;

}

$c = 0;

foreach($xml->product as $product) { // ->entry

    $c++;

    if ($c >= $fr && $c < $fr + $ps) {
        echo $c. '<b>Find out more about:<br><a href=\'http://www.shop-
diamondtdesign.com/p/product/'.$product->SUPPLIERITEMGUID.'\'>'.$product-
>ITEMNAME.'</a></b></br>'."\n";
        echo '<img 
src="http://www.distributorcentral.com/resources/productimage.cfm?
Prod='.$product->SUPPLIERITEMGUID.'&size=medium" alt="'.$product->ITEMNAME.'" /><br>';
        echo "Action - "    .($product->ITEMACTION)."<br>";
        echo "ADDED TO SEARCH DATE - ".($product->ADDEDTOSEARCHDATE)."<br>
</div>";

    }
}
    echo '<div class="w3-row ">';
    echo '<div class="w3-button w3-theme w3-round-large">';
if ($fr > 1) {
    echo "  &nbsp; &nbsp;  <b><a href='index.php?fr=" . ($fr - $ps) . "'>prev</a>";

} else {

    echo "  &nbsp; &nbsp;  <b><strike>prev</strike>";
}

// TODO: check end of file...

   echo " &nbsp; &nbsp; <a href='index.php?fr=" . ($fr + $ps) . "'>next</a></b>";
echo "</div></div>";       
?>
<a href="paging-3.php" button class="w3-button w3-block w3-theme-l4 w3-hover-w3-theme-l2 w3-border-black">More Newest Additions</a>