我認爲這可能更準確地稱爲「分頁」...不確定。我得到一大塊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