繁体   English   中英

如何向 XML 提要添加分页?

[英]How to add pagination to an XML feed?

我正在使用 javascript 将 XML 制作成 HTML。 我已遵循本指南:http://www.w3schools.com/xml/xml_to_html.asp

如何向 XML 提要添加分页?

根据您在问题中提供的 url,您可以对数据进行分页。

html内容:

<div id="content"></div>
<div id="pagination"></div>

Javascript 代码:

var page = 1, perPage = 4, content = document.getElementById('content'),
pagination = document.getElementById('pagination'), records;

function paganation(page)
{
    var nextMaxItem = perPage * page;
    var fromItem = (page - 1) * perPage;
    var maxPages = records.length / perPage;

    var xmlContent = "<table border='1'>";
    for (var i = fromItem; i < nextMaxItem; i++) {
        xmlContent += "<tr><td>";
        xmlContent += records[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue;
        xmlContent += "</td><td>";
        xmlContent += records[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue;
        xmlContent += "</td></tr>";
    }
    xmlContent += "</table>";
    content.innerHTML = xmlContent;

    var paginationContent = "";
    var previous = page - 1;
    if (page > 1) {
        paginationContent += '<a href="javascript:paganation('+previous+');">Back</a>';
    } else {
        paginationContent += "Back";
    }

    for (var j = 1; j < Math.ceil(maxPages); j++) {
        paginationContent += " ";
        paginationContent += '<a href="javascript:paganation('+j+');">'+j+'</a>';
        paginationContent += " ";
    }

    var next = page + 1;
    if (next <= maxPages) {
        paginationContent += '<a href="javascript:paganation('+next+');">Next</a>';
    } else {
        paginationContent += "Next";
    }
    pagination.innerHTML = paginationContent;
}

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","cd_catalog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
records = xmlDoc.getElementsByTagName("CD");
paganation(1);

一种选择是 Ruby gem, will_paginate本页解释了使用它的基础知识)。

如果您正在使用 Rails 3 进行开发,那么这篇博文可能会很有用。

如果你需要对XML output本身进行分页,不管你选择哪种方案,还是要分页,这样分页就有一定的基础了。 换句话说,将 XML 数据中的每一行作为不同的记录处理,就像数据库处理它一样,然后分页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM