我有一个脚本可以对信息进行排序,然后它必须根据匹配日期做出决定,问题是我不知道如何告诉脚本哪个是最新的游戏,这里是XML文件:
<Games>
<Game>
<Date>Sunday, June 29</Date>
<Time>8:05 PM</Time>
<Away>Boston</Away>
<ScoreAway>8</ScoreAway>
<Home>NY Yankees</Home>
<ScoreHome>5</ScoreHome>
<Status>Final</Status>
<Result>Won</Result>
</Game>
<Game>
<Date>Monday, June 30</Date>
<Time>7:10 PM</Time>
<Away>Chicago Cubs</Away>
<ScoreAway>2</ScoreAway>
<Home>Boston</Home>
<ScoreHome>0</ScoreHome>
<Status>Final</Status>
<Result>Lost</Result>
</Game>
</Games>
现在,我知道如何从节点中检索信息,但我不知道如何比较它们或如何告诉脚本什么比另一个更新。
答案 0 :(得分:1)
原则上,您可以使用CDate
或DateValue
功能将日期和时间字符串转换为日期/时间值。
WScript.Echo CDate(node.text)
但是,虽然这适用于<Time>
节点的值,但<Date>
节点使用该功能无法识别的自定义格式。最好的方法是将这些节点中使用的格式更改为可识别的格式,例如:
Jun 29, 2014
2014-06-29
6/29/2014
如果这不可能,您需要自己解析字符串,即Split
字符串,然后从其部分构建日期值:
Set monthNames = CreateObject("Scripting.Dictionary")
For i = 1 To 12
monthNames.Add MonthName(i), i
Next
d = Split(node.text)
WScript.Echo DateSerial(Year(Date), monthNames(d(1)), CInt(d(2)))
请注意,我在此假设您每次运行脚本时都会查看当前年份。如果情况并非如此,则需要使用更合适的内容替换Year(Date)
。