我认为这可能更准确地称为“分页”...不确定。我得到一大块XML(可以说有100个节点),然后我想在页面上一次只显示一组数字。你怎么做到这一点?PHP - 从XML结果集中消除结果
作为参考,在.NET中它会是这样的:
// Get some results. These are an XPathExpression
XPathNodeIterator iterate = nav.Select(results);
int index = 0;
// Iterate over them deleting excess results
foreach (XPathNavigator node in iterate) {
if ((index < beginIndex) || (index > finishIndex)) {
node.DeleteSelf();
}
index++;
}
// Set iterate to be this new set of results
iterate = nav.Select(results);
// Write out my new result set
foreach (XPathNavigator node in iterate) {
Response.Write(node.OuterXml);
}
而且会抓住从XML文档XML的一个子集,通过它删除所有节点比我的beginIndex更大或更小运行,我的finishIndex(所以我会抓住,说设置beginIndex = 0
和finishIndex = 19
前20个结果,然后通过我可以抓住节点20-29等)。
简而言之,在PHP中,如何删除像node.DeleteSelf
那样的不需要的节点?我可以做的其他事情......只是不确定那个删除位。
你在PHP中使用什么来遍历或以其他方式处理XML? – Johrn 2009-12-16 20:46:56
xpath。我用simplexml得到结果,然后用xpath获取我想要的集合,例如:$ result = $ xml-> xpath('/ employees/mechanics'); – Lothar 2009-12-16 20:55:53