我刚刚开始使用simplexml,我有以下语句显示xml中的所有记录:
$xml=simplexml_load_file("data.xml") or die("Error: Cannot create object");
foreach($xml->children() as $rec) {
echo $rec->dist . "<br />";
}
出于分页目的,我如何从xml中检索一系列记录,例如:只是前10条记录(0-9)?
提前thx!答案 0 :(得分:0)
您可以尝试这样的事情:
$children = $xml->children() ;
$num = count($children) ;
$start = 10 ; // zero-based index
$end = 20 ; // zero-based index
for ($i = $start; $i < $end ; $i++) {
echo $children[$i]->dist . "<br />";
}
以前的版本:
$line = 1 ;
foreach($xml->children() as $rec) {
echo $rec->dist . "<br />";
if ($line++ == 10) break;
}
这将显示10个第一个元素。
答案 1 :(得分:0)
如果您想使用XPath来提取节点......
$xml=simplexml_load_file("data.xml") or die("Error: Cannot create object");
$start = 2;
$end = 7;
$data = $xml->xpath("/*/*[position()>= $start and not(position() > $end)]");
print_r( $data);
这将返回您之后的元素数组,然后您可以根据需要处理它们。