Asp 解析 XML并分页显示,示例源码如下:
复制代码 代码如下:
<!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>
<link href="http://www.fx678.com/css/cur_topics.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/ecmascript" src="http://www.fx678.com/js/jquery-1.8.0.min.js"></script>
<title>财富动力专题</title>
<style type="text/css">
#right_topic
{
float: right;
height: auto;
width: 690px;
}
#right_topic .xinhua
{
clear: both;
width: 690px;
overflow: hidden;
font-size: 14px;
color: #444;
line-height: 24px;
}
#right_topic .xinhua img
{
border: 0;
}
#right_topic .xinhua .top_cont
{
border: 1px solid #ddd;
height: 140px;
}
#right_topic .xinhua .top_cont .xh_logo
{
width: 270px;
float: left;
margin: 25px 10px;
}
#right_topic .xinhua .top_cont .xh_text
{
float: right;
width: 390px;
font-size: 14px;
line-height: 22px;
color: #666;
margin-top: 15px;
}
.list
{
clear: both;
margin-top: 15px;
overflow: hidden;
border-bottom: 3px solid #206295;
}
.list ul
{
margin: 0;
padding: 0;
}
.list ul li
{
list-style: none;
border-bottom: 1px dotted #E5E5E5;
padding: 10px;
}
.list ul li h4
{
font-family: "Microsoft Yahei";
font-size: 18px;
font-weight: normal;
line-height: 22px;
margin: 0px;
margin-bottom: 5px;
padding: 0;
color: #0761B7;
}
.list ul li h4 a
{
color: #206295;
text-decoration: none;
}
.list ul li h4 a:hover
{
text-decoration: underline;
}
.list ul li span
{
float: right;
width: 120px;
color: #999;
font-size: 14px;
text-align: right;
}
.list ul li p
{
margin: 0;
padding: 0;
font-size: 12px;
}
.list ul li.bg
{
background: #f5f8fa;
}
#pageZone
{
background: #F5F6FB;
border-bottom: 1px solid #DBE3EE;
margin: 10px auto 20px;
padding: 10px 0;
text-align: center;
}
#pageZone span
{
background: #FFFFFF;
border: 1px solid #D8DADF;
font-size: 14px;
height: 34px;
line-height: 34px;
margin: 0px 2px;
padding: 8px 12px;
}
#pageZone span a
{
color: #666;
text-decoration: none;
}
#pageZone span.isNow
{
background: #206295;
border: 1px solid #D8DADF;
color: #FFFFFF;
}
</style>
<script type="text/javascript">
var $m = $(window.parent.document).find("#MyXH08");
$m.load(function () {
var thish = $(document).height() + 30;
$m.height(thish);
});
</script>
</head>
<body>
<>
<div>
<ul>
<%
Dim xmlDoc,objNodes,pIndex,pSize,i,http,xmlUrl
pSize = 10 '页大小
xmlUrl ="http://back.moneypower.cn/news.xml"
REM 页索引
pIndex = Request.QueryString("p")
if Cint(pIndex) > 6 Or Cint(pIndex) < 1 then
pIndex = 1
end if
REM 异步读取XML源
Set http = Server.CreateObject("Microsoft.XMLHTTP")
http.open "GET",xmlUrl,false
http.send
REM 定义 读取XML 的变量
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.validateOnParse = false
xmlDoc.load(http.ResponseXML)
Set objNodes = xmlDoc.getElementsByTagName("item")
if objNodes.length > 0 then
i = 0
For j = (pSize*(pIndex-1)) to (pSize*pIndex-1) step 1
myTitle = objNodes(j).childNodes(0).text
myDate = objNodes(j).childNodes(3).text
myDescription = objNodes(j).childNodes(2).text
link = Server.URLEncode(objNodes(j).childNodes(1).text)
myLink = "http://www.fx678.com/news/currency/XH08NewsContent.asp?u=" & link
%>
<% if i Mod 2 = 0 then %>
<li>
<% else %>
<li>
<% end if %>
<h4>
<span>
<%= FormatDate(myDate,2) %>
</span><a target="_blank" href="<%= myLink %>">
<%= myTitle %></a></h4>
<p>
<%= myDescription %>
</p>
</li>
<%
i = i + 1
Next
Else
Response.Write("暂无数据!")
End If
%>
</ul>
</div>
<>
<div id="pageZone">
<%
if pIndex = 1 then
%>
<span>第一页</span>
<span><<上一页</span>
<span title="您正在浏览本页">1</span>
<span title="第2页">
<a href="zt_CFDL_List.asp?p=2">2</a>
</span>
<span title="第3页">
<a href="zt_CFDL_List.asp?p=3">3</a>
</span>
<span title="第4页">
<a href="zt_CFDL_List.asp?p=4">4</a>
</span>
<span title="第5页">
<a href="zt_CFDL_List.asp?p=5">5</a>
</span>
<span title="第6页">
<a href="zt_CFDL_List.asp?p=6">6</a>
</span>
<span title="转到下一页">
<a href="zt_CFDL_List.asp?p=<%= Cint(pIndex+1) %>">下一页>></a>
</span>
<span title="转到最后一页">
<a href="zt_CFDL_List.asp?p=6">最后一页</a>
</span>
<%
elseif pIndex = 6 then
%>
<span>
<a href="zt_CFDL_List.asp?p=1">第一页</a>
</span>
<span title="转到上一页">
<a href="zt_CFDL_List.asp?p=<%= Cint(pIndex-1) %>">上一页</a>
</span>
<span title="第1页">
<a href="zt_CFDL_List.asp?p=1">1</a>
</span>
<span title="第2页">
<a href="zt_CFDL_List.asp?p=2">2</a>
</span>
<span title="第3页">
<a href="zt_CFDL_List.asp?p=3">3</a>
</span>
<span title="第4页">
<a href="zt_CFDL_List.asp?p=4">4</a>
</span>
<span title="第5页">
<a href="zt_CFDL_List.asp?p=5">5</a>
</span>
<span title="您正在浏览本页">6</span>
<span>下一页>></span>
<span title="转到最后一页">最后一页</span>
<%
else
%>
<span>
<a href="zt_CFDL_List.asp?p=1">第一页</a>
</span>
<span title="转到上一页">
<a href="zt_CFDL_List.asp?p=<%= Cint(pIndex-1) %>">上一页</a>
</span>
<%
for m = 1 to 6 step 1
if Cint(pIndex) = Cint(m) then
%>
<span title="您正在浏览本页"><%= m %></span>
<%
else
%>
<span title="第<%= m %>页">
<a href="zt_CFDL_List.asp?p=<%= m %>"><%= m %></a>
</span>
<%
end if
next
%>
<span title="转到下一页">
<a href="zt_CFDL_List.asp?p=<%= Cint(pIndex+1) %>">下一页>></a>
</span>
<span title="转到最后一页">
<a href="zt_CFDL_List.asp?p=6">最后一页</a>
</span>
<%
end if
%>
</div>
</body>
</html>
<%
Public Function FormatDate(DateAndTime, para)
On Error Resume Next
Dim y, m, d, h, mi, s, strDateTime
FormatDate = DateAndTime
If Not IsNumeric(para) Then Exit Function
If Not IsDate(DateAndTime) Then Exit Function
y = CStr(Year(DateAndTime))
m = CStr(Month(DateAndTime))
If Len(m) = 1 Then m = "0" & m
d = CStr(Day(DateAndTime))
If Len(d) = 1 Then d = "0" & d
h = CStr(Hour(DateAndTime))
If Len(h) = 1 Then h = "0" & h
mi = CStr(Minute(DateAndTime))
If Len(mi) = 1 Then mi = "0" & mi
s = CStr(Second(DateAndTime))
If Len(s) = 1 Then s = "0" & s
Select Case para
Case "1"
strDateTime = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
Case "2"
strDateTime = y & "-" & m & "-" & d
Case "3"
strDateTime = y & "/" & m & "/" & d
Case "4"
strDateTime = y & "年" & m & "月" & d & "日"
Case "5"
strDateTime = m & "-" & d
Case "6"
strDateTime = m & "/" & d
Case "7"
strDateTime = m & "月" & d & "日"
Case "8"
strDateTime = y & "年" & m & "月"
Case "9"
strDateTime = y & "-" & m
Case "10"
strDateTime = y & "/" & m
Case "11"
strDateTime = m & "-" & d & " " & h & ":" & mi
Case "12"
strDateTime = h & ":" & mi & ":" & s
Case "13"
strDateTime = y & m & d & h & mi & s
Case "14"
strDateTime = y & m & d
Case "15"
strDateTime = h & mi & s
Case "16"
strDateTime = h & ":" & mi
Case "17"
strDateTime = y & m & d & h & mi & s
Case "18"
strDateTime = y & m & d
Case "19"
strDateTime = y & m
Case Else
strDateTime = DateAndTime
End Select
FormatDate = strDateTime
End Function
%>
效果图(部分):