我是ASP的新手(新工作使用的是Windows服务器,之前我只使用过Linux)而且我正在构建一个“日志”,将其数据存储到XML文件中。我已经完美地阅读了XML,但现在我正试图打印出特定日期范围内的数据。
我这样做的方法是使用DateDiff函数将XML条目中的日期与用户定义的日期进行比较,然后输出一个数字。如果此数字对于开始日期大于1而对于结束日期小于1,则将显示该数字。 startdate部分可以工作,但无论我在结束日期的哪个日期,它都会从startdate向上打印所有内容。
这是我的代码
<%
Response.Buffer = True
session.lcid=2057
Set entries = Server.CreateObject("Microsoft.XMLDOM")
Set entry = Server.CreateObject("Microsoft.XMLDOM")
Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = False
xml.load (Server.MapPath("log.xml"))
set entries = xml.getElementsbyTagName("entry")
noOfEntries = entries.length
If Request.Form("findLog") = "true" Then
CheckLog
End If
%>
<html>
<head>
<title>GM Log</title>
</head>
<body>
<p>Please enter the dates that you want to view the log from</p>
<form name=form1 action=readlog.asp method=post>
<p>Start date: <input type=text name=startdate>End date: <input type=text name=enddate>
<input type=hidden name=findLog value=true> <input type=submit value="Search"></p>
</form>
<%
Sub CheckLog
startDate = Request.Form("startdate")
LastDate = Request.Form("enddate")
Response.Write("<table border=5>")
For i = 0 To (noOfEntries - 1)
Set entry = entries.item(i)
If isDate(entry.childNodes(0).text) Then
meh = CDate(entry.childNodes(0).text)
beginning = DateDiff("d", startDate, meh)
Response.Write ("<p style=""color: red"">days from startdate: " & beginning & "</p>")
ended = DateDiff("d", LastDate, meh)
Response.Write ("<p>days from today: " & ended & "</p>")
If beginning + 1 > 0 or beginning + 1 = 0 & ended < 0 or ended = 0 Then
Response.Write("<tr>"&_
"<td>" & entry.childNodes(0).text & "</td>"&_
"<td>" & entry.childNodes(1).text & "</td>"&_
"<td>" & entry.childNodes(2).text & "</td>"&_
"<td>" & entry.childNodes(3).text & "</td>"&_
"<td>" & entry.childNodes(4).text & "</td>"&_
"</tr>")
End If
End If
Next
Response.Write("<table>")
End Sub
%>
</body>
</html>
这是我的XML文件布局。
<?xml version="1.0"?>
<GM>
<entry>
<date>15/07/2010</date>
<time>1515</time>
<conversation>Dave down the Pub</conversation>
<information>This is another test.</information>
<action>Colin Wren</action>
</entry>
<entry>
<date>20/07/2010</date>
<time>1700</time>
<conversation>Sam</conversation>
<information>this is a test</information>
<action>Colin</action>
</entry>
</GM>
我确信这只是我的愚蠢和煎炸我的大脑看太久但是任何帮助都会非常感激。
答案 0 :(得分:0)