关于用Msxml2.DOMDocument读取XML的问题,诚邀高手进来解答
ResponseXML.ASP的文件代码如下:
<%
dim xmlDoc
set xmlDoc = Server.CreateObject( "Msxml2.DOMDocument ")
xmlDoc.async = false
xmlDoc.validateOnParse=false
xmlDoc.setProperty "ServerHTTPRequest ", true
href = Request( "f ")
xmlDoc.load(href)
xmlStr = xmlDoc.xml
Response.write xmlStr
%>
这段代码很奇怪如果我访问的数据源是的扩展名是*.XML 就很正常,但是如果扩展名是*.ASP 的文件就不行。
例如 XML的数据源是 http://192.168.1.18/test.XML
test.xml 的数据是
<?xml version= "1.0 " encoding= "gb2312 "?>
<List>
<sales object= "pen " style= "red "/>
</List>
这样的话ResponseXML.ASP 可以将他显示出来 但是如果用动态的ASP访问数据库动态显示成XML格式的数据却无法被显示
例如 XML的数据源是 http://192.168.1.18/test.ASP
代码如下
<%Response.ContentType = "text/xml "%>
<?xml version= "1.0 " encoding= "gb2312 "?>
<%
Set Rs = Server.CreateObject( "ADODB.RecordSet ")
Rs.ActiveConnection = Conn_odds
SQL = "SELECT * FROM sales "
Rs.Open SQL,,1,2
Rec = Rs.RecordCount
Response.Write( " <List> ")
if Rec> 0 then
do while not(rs.eof)
response.write " <sales object= ' "&rs.fields(0)& " ' style= ' "&rs.fields(1)& " '/>
rs.movenext
loop
end if
Response.Write( " </List> ")
Rs.close()
Set rs = nothing
Set Conn_Odds = nothing
%>
这样的话ResponseXML.ASP 确是无法将他解析出来
请问这是为什么呢?
------解决方案--------------------test.ASP第一行加上
<%@ LANGUAGE= "VBSCRIPT " CODEPAGE= "65001 "%>
再把test.asp 文件格式另存为 UTF-8编码