使用JavaScript查询以按日期显示HTML文档中的事件

| 我是javascript新手,需要帮助。我不确定是否应该使用AJAX或Xquery。 我有一个XML文件,我想按日期和建筑物提取所有程序,并且只在HTML文档中显示“名称”,“房间”和“时间”。 我要这样做,以便显示所有6月13日星期一的活动,然后明天该网页将显示2011年6月14日星期二的活动,依此类推。 我将部分XML和HTML复制到了这篇文章。 请帮忙。我不确定该怎么做。 这里是XML的一个小样本,因为我列出了大约90个程序。
<ProgramList>
    <Program>
        <Name>English Conversation Group - Wed.  Morning</Name>
        <Building>Centereach</Building>
        <Room>Foundation Room</Room>
        <Date>6/14/2011</Date>
        <Time>9:30 AM-11:30 AM</Time>
    </Program>
    <Program>
        <Name>Family Center- One on One Counseling</Name>
        <Building>Selden</Building>
        <Room>Lower Meeting Room</Room>
        <Date>6/15/2011</Date>
        <Time>9:30 AM-4:00 PM</Time>
    </Program>
</ProgramList>
这是HTML:
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
    <script type=\"text/javascript\" src=\"nature2.js\"></script> 
    <title>Untitled Document</title>
</head>
<body leftmargin=\"0\" topmargin=\"0\" marginheight=\"0\" text=\"#444316\">
    <script type=\"text/javascript\">
function loadXMLDoc(dname)
{
    if (window.XMLHttpRequest)
    {
        xhttp=new XMLHttpRequest();
    }
    else
    {
        xhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");
    }
    xhttp.open(\"GET\",dname,false);
    xhttp.send(\"\");
    return xhttp.responseXML;
}

xml=loadXMLDoc(\"ProgramList.xml\");
path=\"/ProgramList/Program/*\";
// code for IE
if (window.ActiveXObject)
{
    var nodes=xml.selectNodes(path);

    for (i=0;i<nodes.length;i++)
    {
    document.write(nodes[i].childNodes[0].nodeValue);
    document.write(\"<br />\");
    }
}

// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
    var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
    var result=nodes.iterateNext();

    while (result)
    {
        document.write(result.childNodes[0].nodeValue);
        document.write(\"<br />\");
        result=nodes.iterateNext();
    }
}
    </script>
</body>
</html>
我去站点检查了示例,但收到了未知错误,并且示例未加载。因此该链接没有帮助。 我想要3个html页面。 第1个HTML页面将为我提供按日期分组的所有程序(名称)。因此,只有今天的节目才会在两座建筑物中显示。 我希望显示以下结果: <名称> <时间> <房间> <建筑物> 第2 HTML页面将为我提供按日期和建筑物1(Centereach)分组的所有程序(名称)。因此,只有今天的程序才会显示1。 HTML的第3页,向我提供按日期和建筑物2(Selden)分组的所有程序(名称)。只有今天的程序才会显示2 我希望在第二页和第三页显示以下结果: <名称> <时间> <房间> 我还希望页面随着日期的变化而自动更新。 你有什么其他的建议?     
已邀请:
        通常,只有在服务器上执行Xqueries才有意义。但是随后您仍然必须解析响应以从结果中提取要显示的数据。 底线:如果数据集很大,最好在服务器上进行过滤(查询),并且仅使用Ajax通过网络获取最少的数据集。 但是还有一个从客户端使用Xquery的选项: http://www.xqib.org/ 检查一下,让我知道是否有帮助。     

要回复问题请先登录注册