日期:2014-05-19  浏览次数:20510 次

xml是怎么显示在网页上的。
http://www.happyshow.org/sample/20060918/list.asp?id=1
就象上面的这个页的xml显示是怎么实现的,我现在能从数据库取数据,然后组一个xml   的字符串,可是一显示的时候就出错,我直接用

response.write();   来实现的,可是不行。帮我看看上面那个网页是怎么做到的把。谢谢了。
}

------解决方案--------------------
那个就是调用了一个XML文件吧 虽然链接是asp的 但肯定处理过了。

从数据库读数据 然后带上XML标签 生成一个XML文件就可以了
response.write( " <?xml version= "+ " " "+1.0+ " " "+ " encoding=+ " " "+ "ISO-8859-1+ " " "+ "?> ");
(response.write( " <root> ");
...(做循环读取数据组成XML)
response.write( " < "+数据库读的数据1+ "> "+数据库读的数据2+ " </ "+数据库读的数据1+ "> ");
...
)

------解决方案--------------------
相关代码如下:
Function ReplaceChar ( FstrSource )
dim strRet
if IsNull(FstrSource) then
&n bsp; FstrSource = " "
end if
strRet = Replace ( FstrSource , "& " , "& " )
strRet = Replace ( strRet , " < " , " < " )
strRet = Replace ( strRet , "> " , "> " )
strRet = Replace ( strRet , " " " " , " " " )
strRet = Replace ( strRet , " ' " , " ' " )
ReplaceChar = strRet
End Function
function RstToXML (FrstRst, FstrRstName)
dim strSpace 'space string behand of element
dim intLevel 'level of the element
dim strXML 'the return string(xml string)
dim intRstField
dim strShortDate

'document level
intLevel = 0
strSpace = space (intLevel * 2)
if Len(FstrRstName)> 0 then
strXML=strSpace & " < " & FstrRstName & "> " & vbCR
intLevel = intLevel + 1
strSpace = space(intLevel*2)
end if
if FrstRst.EOF then
strXML = strXML&strSpace & " <Record "
for nCount=0 to FrstRst.Fields.Count-1
strXML = strXML & space(1)&FrstRst.Fields(nCount).Name& "= ' ' "
next
strXML = strXML & "/> " &vbCR
if Len(FstrRstName)> 0 then
strXML=strXML&strSpace & " </ " & FstrRstName & "> " & vbCR
end if
RstToXML=strXML
exit function
end if
' now move in one level
intLevel = intLevel + 1
strSpace = space (intLevel * 2 )

' loop through the records
dim strTemp
FrstRst.MoveFirst
do while not FrstRst.EOF
strTemp = " "
'loop through the fields
'strXML = strXML & strSpace & " <Record "
for each objField in FrstRst.Fields
'set objField = FrstRst.Fields(intRstField)
strTemp = strTemp & space (1) & objField.Name & "= "
strTemp = strTemp & " " " " & ReplaceChar(objField.value) & " " " "
end if
next
strXML = strXML & " <Record "&strTemp& "/> " & vbCR
FrstRst.MoveNext
loop
intLevel=intLevel-1
strSpace=space(intLevel * 2)
if Len(FstrRstName)> 0 then
strXML = strXML & strSpace & " </ " & FstrRstName & "> " & vbCR
end if
RstToXML = strXML
end function


getInfo.asp
相关代码如下:
<?xml version= "1.0 " encoding= "gb2312 "?>
<root>
<%
set conn = server.CreateOb ject( "ADODB.Con