使用JavaScript进行查询,以便在HTML文档中按日期显示事件
Query using JavaScript to display events by date in HTML document
我是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页面
第一个HTML页面将给我所有程序(名称)按日期分组。因此,只有今天的节目将显示这两座建筑
我希望显示以下结果:
<名称>
<时间>
<房间>
<建筑>
第二个Html页面将给我所有程序(名称),按日期和建筑1(中心每个)分组。因此,只有今天的程序才会显示1号楼。
第三个Html页面给我所有程序(名称)按日期和建筑2(Selden)分组。只有今天的程序才会显示用于构建2
我希望在第2页和第3页显示以下结果:
<名称>
<时间>
<房间>
我还希望页面能随着日期的变化而自动更新。
你还有其他建议吗?
通常只有在服务器上执行Xquery才有意义。但是,您仍然需要解析响应,以从结果中提取您想要显示的数据。
一句话:如果数据集很大,最好在服务器上进行过滤(查询),并使用Ajax只通过连线获取最小的数据集。
但是也可以从客户端使用Xquery:http://www.xqib.org/
看看它,让我知道这是否有帮助。
相关文章:
- 从Javascript和Php变量创建Html模板文档
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何从多个不同的html页面获得mongodb文档的用户输入
- 暂停文档-HTML、CSS、JavaScript
- 如何用javascript重写html文档
- 是否可以使用有角度的HTML文档进行$编译
- 从现有html自动生成html源文档
- 枚举附加到文档的HTML对象的所有事件
- 如何确保通过电子邮件发送的html文档中的Google Drive链接不会被识别为附件
- 将jQuery.js文件附加到html文档中
- 谷歌文档如何拦截Ctrl-S/Command-S来保存文档而不是html页面
- 为任意html文档创建不引人注目的覆盖
- 在HTML文档中使用XML文件中的数据
- 删除“;NaN”;来自HTML文档
- <!文档html>在JS脚本中触发“use strict”
- 在Google Apps Script中获取javascript“文档HTML DOM”信息
- 在使用 Chrome 扩展程序加载之前,使用 document_start 修改文档 html
- 在html中嵌入文档(html/pdf/swf/…)的统一方法
- 文档Html,它是真正的文档在javascript