2010-06-28 43 views
0

我一直在尋找一種方法來分頁XML文件的方式,我開始認爲這可能是不可能的..任何人都可以闡明這一點,是否有可能,我可以分頁數據庫結果沒有問題,但無法找到一種方法來做到這一點...如何分頁XML文件

看到一些例子,但他們使用了XML文件中的ID字段,因爲我無法自己編輯文件,只是我已經有了總得工作...

希望有人能幫助...

+0

Paginate XML文件?你是如何分頁的?在瀏覽器中?將其拆分成文件?印刷? – Oded 2010-06-28 09:37:23

+0

對不起應該說更多,我想分頁使用PHP的XML頁面,將有大約200項(沒有大規模) – David 2010-06-28 09:41:28

+0

編程語言並不重要。定義「分頁」。 – Philipp 2010-06-28 09:55:30

回答

3

XML沒有的網頁的概念,因爲它不是一個用戶界面技術。

你當然可以。您必須將XML解析爲DOM對象,選擇頁面大小,然後在頁面大小的塊中遍歷DOM。

你不說你正在使用哪種語言,或者你想要服務器還是客戶端。但這當然是可能的。

+0

PHP將是語言的選擇和服務器端將是最好的,我認爲.. – David 2010-06-28 09:42:07

0

你沒有提到你如何渲染你的XML,但你可能想看看例如XSL-FO,它支持分頁。

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>