
//读取xml
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var xhai_xml,DayTime,TdOnclick, IsLink;
var NodwsI, zc, Calendar_Date,Calendar_ID,Calendar_Title;
xhai_xml = new ActiveXObject("Microsoft.XMLDOM");
//异步处理
xhai_xml.async=false;
//读取不同年份的xml,由于xml在一个文件内会循环过慢,所以这里可以读取不同的xml文件,以便加快速度
xhai_xml.load("Calendar_"+The_Year+".xml")
if(xhai_xml.readyState==4)
{
if(xhai_xml.parseError.errorCode==0)
{
//统计有多少ZID,其他的和ZID一样多
NodwsI=xhai_xml.documentElement.selectNodes("//ZID").length;
}
}
for (i=1; i<=Firstday; i++)
showstr += "<Td align=center class='FontGray'></Td>";
for (i=1; i<=Month_Day; i++)
{
if ((The_Year==today.getYear()) && (The_Month==today.getMonth()+1) && (i==today.getDate()))
TClassName = "Calendar_Today";
else
TClassName = "Calendar_NormalDay";
if (The_Day==i) TClassName = "Calendar_Today";
DayTime=The_Year+"-"+The_Month+"-"+i;
//判断得到不同的日期
//
IsLink="no";
for ( zc =0; zc<NodwsI; zc++)
{
//读取xml中不同节点的内容
Calendar_Date = xhai_xml.documentElement.selectNodes("ZDate")(zc).text;
Calendar_Title = xhai_xml.documentElement.selectNodes("ZTitle")(zc).text;
Calendar_ID = xhai_xml.documentElement.selectNodes("ZID")(zc).text;
Calendar_CatName = xhai_xml.documentElement.selectNodes("ZCatName")(zc).text;
Calendar_Time = xhai_xml.documentElement.selectNodes("ZTime")(zc).text;
//这里判断日期和文章日期相同,所以在生成的时候ZDate字段一定要是标准格式[2008-1-1]这样的
if (DayTime==Calendar_Date)
{
TClassName="Calendar_Selectday";
showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'><a target=_blank href='http://www.zhangbaozz.com/html/"+Calendar_CatName+"/"+Calendar_Time+"/"+Calendar_ID+".html' title='"+Calendar_Title+"'>" +i+ "</a></div></td>";
IsLink="yes"
}
//else
//{
// TClassName="#f0f0f0";
//}
}
if(IsLink!="yes")
{
showstr += "<td align=center class='Calendar_day' ><div class='"+TClassName+"'>" +i+ "</div></td>";
}
如何生成xml请看下一步的文章:《生成xml》
整个例子的最终效果:js日历读取xml在线浏览
整个例子的完整版打包下载:js日历读取xml下载包
本人也是刚刚学习,并没深入,怕忘记了,记录下来,如有不懂,可以在我blog里面留言,或者加我QQ,互相学习。
Blog: 崩溃 http://www.zhangbaozz.com
QQ:273167618
欢迎大家光里[崩溃]
如果你觉得对你有帮助,或者从中受到启发,或者无聊,赞助俺一下,大家2009一起发大财,哈哈哈哈!!!!!!!!