http://www.happyshow.org/sample/20060918/list.asp?id=1
就象上面的这个页的xml显示是怎么实现的,我现在能从数据库取数据,然后组一个xml 的字符串,可是一显示的时候就出错,我直接用response.write(); 来实现的,可是不行。帮我看看上面那个网页是怎么做到的把。谢谢了。
}

解决方案 »

  1.   

    那个就是调用了一个XML文件吧 虽然链接是asp的 但肯定处理过了。从数据库读数据 然后带上XML标签 生成一个XML文件就可以了
    response.write("<?xml version="+"""+1.0+"""+" encoding=+"""+"ISO-8859-1+"""+"?>");
    (response.write("<root>");
    ...(做循环读取数据组成XML)
    response.write("<"+数据库读的数据1+">"+数据库读的数据2+"</"+数据库读的数据1+">");
    ...
       )
      

  2.   

    相关代码如下:
    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.Connection")
    conn.Open "FILEDSN=test.dsn" set facultyRst = conn.Execute("select * from faculty")
    do while not facultyRst.eof
    strFaculty = facultyRst("name")set classRst = conn.Execute("select count(id) as classcount from recruitclass where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "'")
    set maleRst = conn.Execute("select count(id) as malecount from newstudent where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "' and gender='男'")
    set femaleRst = conn.Execute("select count(id) as femalecount from newstudent where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "' and gender='女'")
    %>
    <newstudent faculty="<%=strFaculty%>" class="<%=classRst("classcount")%>" male="<%=maleRst("malecount")%>" female="<%=femaleRst("femalecount")%>"/>
    <%
    facultyRst.MoveNext
    loop
    %>
    </root>
    <%
    dim strConn, strSQL, rs, n, sFileNa me
    'change the server name, if it is remote, change the UID and PWD to your own
    strConn = "Provider=SQLOLEDB;Server=localhost;Database=pubs;UID=sa;PWD=;"
    strSQL = "SELECT * FROM employee"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.open strSQL, strConn, 1, 1
    sFileName = "c:\temp\employee.xml"
    rs.save sFileName, 1
    rs.close
    set rs =nothing
    %>or<%
    Response.ContentType = "text/xml"
    dim strConn, strSQL, rs, n, sFileName
    'change the server name, if it is remote, change the UID and PWD to your own
    strConn = "Provider=SQLOLEDB;Server=localhost;Database=pubs;UID=sa;PWD=;"
    strSQL = "SELECT * FROM employee"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.open strSQL, strConn, 1, 1
    sFileName = "c:\temp\employee.xml"
    rs.save Response, 1
    rs.close
    set rs =nothing
    %>
      

  3.   

    http://www.jobdll.com/news/getxml.aspx?newstype=1
      

  4.   

    我的意思不是用asp 的,是用c#的,简单的说就是我有这么一个字符串 <area>
      <address>2|广东|http://www.gd.gov.cn/</address> 
      <address>3|广西|http://www.gxi.gov.cn/</address> 
      <address>4|湖南|http://www.hunan.gov.cn/</address> 
      <address>5|甘肃|</address> 
      </area>上面的我放在一个字符串中,怎么让他显示在网页上?
      

  5.   

    晕,,我昨天晚上对这asp 代码(也是从网上找的一段)改了半天,还是老出错。希望哪位高手帮忙帮上面的xml 字符串给显示一下,我当个例子去仿,谢谢了。。
      

  6.   

    Response.Clear();
    Response.ContentType="text/xml";
    Response.Write("<area>  <address>2|广东|http://www.gd.gov.cn/</address>   <address>3|广西|http://www.gxi.gov.cn/</address>   <address>4|湖南http://www.hunan.gov.cn/</address>   <address>5|甘肃|</address>   </area>");
    Response.End();
      

  7.   

    Response.ContentType="text/xml";
    很重要的,不能少的
      

  8.   

    楼上正确,简单的方法就用Response.writer("string")
      

  9.   

    Response.ContentType="text/xml";
    很重要的,不能少的
    问大家一个问题。直接浏览一下.html的文件的来得好还是用xsl来解析xml来得好。肯定是后者吧
      

  10.   

    无法显示 XML 页。 
    使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。 
    --------------------------------------------------------------------------------Prolog 外部不能有 DOCTYPE 声明。处理资源 'http://localhost:1319/WebSite6/ajaxfisttestDataSource.aspx' 时出错。第 14 行,位置: 11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&...
     
    --------------------------------
    我按net_lover(【孟子E章】)  的方法写的,可是出现这样的错误。这是因为什么啊。
      

  11.   

    刚才我把net_lover(【孟子E章】) 的代码放在一个新页 里就能显示正常。(xml格式的),估计是我别处的错误。那这个问题解决了,先揭贴把,谢谢各位了。
      

  12.   

    我的首页有一个十张图片轮换的flash播放器,通过调用一个xml数据文件实现,我想动态绑定sql,不知道怎么生成xml文件,高手教教我!