Morning All,用經典的ASP顯示XML數據
我很努力讓這段代碼正常工作。我已經花了數小時調整,改變它..它仍然不會工作。
<%
Dim nTitle, nDescription, nWeight, nImage, nPrice, StoreMemberID, nDobaID, StoreItemCatID, nTrue, nFalse, MarkupPerc, nYes, nNo
Dim nFileName, intNewID, paryProducts
FUNCTION FetchProductRecords(str)
Dim objHTTP, RSSURL, RSSFeed, xmlRSSFeed, RSSItems, objItem, objChild, paryOut, nCell
Redim paryOut(6,-1)
nCell = 0
RSSURL = "http://www.storeboard.com/excel/" & str
Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")
objHTTP.open "GET",RSSURL,false
objHTTP.send
RSSFeed = objHTTP.responseText
Set xmlRSSFeed = Server.CreateObject("MSXML2.DomDocument")
xmlRSSFeed.async = false
xmlRSSFeed.LoadXml(RSSFeed)
Set objHTTP = Nothing
Set RSSItems = xmlRSSFeed.getElementsByTagName("Row")
Set xmlRSSFeed = Nothing
Redim preserve paryOut(6,RSSItems.length-1)
FOR i = 0 TO RSSItems.length - 1
Set RSSItem = RSSItems.Item(i)
FOR EACH objChild IN RSSItem.childNodes
IF nCell = 3 THEN
paryOut(0,i) = objChild.text
ELSEIF nCell = 5 THEN
paryOut(1,i) = objChild.text
ELSEIF nCell = 7 THEN
paryOut(2,i) = objChild.text
ELSEIF nCell = 27 THEN
paryOut(3,i) = objChild.text
ELSEIF nCell = 23 THEN
paryOut(4,i) = objChild.text
ELSEIF nCell = 40 THEN
paryOut(5,i) = objChild.text
END IF
nCell = nCell + 1
NEXT
nCell = 0
NEXT
FetchProductRecords = paryOut
END FUNCTION
paryProducts = FetchProductRecords(nFileName)
IF isArray(paryProducts) THEN
%>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
<tr style="background-color:#000000;color:#FFFFFF;font-weight:bold;font-family:Arial, Helvetica, sans-serif;font-size:10px">
<td style="padding:5px" align="center">DOBA ID</td>
<td style="padding:5px" align="center">TITLE</td>
<td style="padding:5px" align="center">DESCRIPTION</td>
<td style="padding:5px" align="center">PRICE</td>
<td style="padding:5px" align="center">WEIGHT</td>
<td style="padding:5px" align="center">IMAGE</td>
</tr>
<% FOR i = 0 TO uBound(paryProducts,2) %>
<% IF i > 0 THEN ' to avoid the header %>
<tr style="font-family:Arial, Helvetica, sans-serif;font-size:10px">
<td style="padding:5px"><%=paryProducts(0,i)%></td>
<td style="padding:5px"><%=paryProducts(1,i)%></td>
<td style="padding:5px"><%=paryProducts(2,i)%></td>
<td style="padding:5px"><%=paryProducts(3,i)%></td>
<td style="padding:5px"><%=paryProducts(4,i)%></td>
<td style="padding:5px"><%=paryProducts(5,i)%></td>
</tr>
<% END IF %>
<% NEXT %>
</table>
<% END IF %>
總而言之,所有的XML文件都有40個字段。你可以看看這裏的xml文件:http://www.storeboard.com/excel/cameras2.xml
我將不勝感激任何幫助,這個代碼,所以我終於可以完成它。
有一個偉大的一天,聖誕快樂, 保羅
它也適用於我的機器,但我不認爲這是@ neojakey的問題,因爲在進一步檢查數據時,我可以看到它與單元格編號不匹配。這當然假設他的應用程序不會在檢索1.17 MB XML文件時超時。 ;-) – stealthyninja 2010-12-22 21:07:22