<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  //asp
这句干什么的?去掉行不行啊

解决方案 »

  1.   

    httpRequest.responseBody检查下是不是这部分错误
      

  2.   

    你是要后台操作xml
    还是输出到前台js操作啊
      

  3.   

    是不是说不用Body改用其它呢;)
      

  4.   

    set xmlDoc = server.CreateObject("MicroSoft.XMLDom")
    xmlDoc.loadxml(TransferHtmlPage(sourceUrl))
    Response.Write(xmlDoc.selectSingleNode("//result/user").text)试试吧
      

  5.   

    使用这个代理读取HTML没问题哦,只是读这个XML出了个问题
    JS(XMLHTTP指向代理)->代理->生成XML的asp文件
    然后JS对得到的XML对象操作,可是却发现对象为空是不是因为在asp文件生成的XML文件被读写到代理页后发生了什么变化?比如成了一段单纯的文本?
    所在我在上面加了一句 Response.ContentType = "text/xml",我想确保代理页返回一个XML对象
    可是实际上还是不行;)请大侠指教
      

  6.   

    这是把读取的数据转成xml然后后台操作这个xml
      

  7.   

    <%    
    'Response.ContentType = "text/xml"   //这句是我加的    dim sourceUrl
        sourceUrl="http://localhost/test/t/1.xml"
       ' Response.CharSet="utf-8"
        'Response.Write(TransferHtmlPage(sourceUrl))
    'response.Flush()

    set xmlDoc = server.CreateObject("MicroSoft.XMLDom")
    xmlDoc.loadxml(TransferHtmlPage(sourceUrl))
    Response.Write(xmlDoc.selectSingleNode("//result/user").text)

        
        Function TransferHtmlPage(url) 
            'On Error Resume Next
            dim httpRequest 
            set httpRequest=Server.createobject("Microsoft.XMLHTTP") 
            httpRequest.open "GET",url,false 
            httpRequest.send() 
            if httpRequest.readystate<>4 then
    exit function 
            end if 
            TransferHtmlPage=ReadStringFromBytes(httpRequest.responseBody,"utf-8")        
            set httpRequest=nothing
            
            
        End Function
        Function ReadStringFromBytes(body,Cset)
            dim objstream
            set objstream = Server.CreateObject("adodb.stream")
            objstream.Type = 1
            objstream.Mode =3
            objstream.Open
            objstream.Write body
            objstream.Position = 0
            objstream.Type = 2
            objstream.Charset = Cset
            ReadStringFromBytes = objstream.ReadText 
            objstream.Close
            set objstream = nothing
        End Function
        %>
    sourceUrl你改一下
    我这里能输出
    123
    就是user的内容
      

  8.   

    Xml.First($T(o.responseXML,"result").item(0),"user")
    这个是封装好的
      

  9.   

    呵呵,代理页只是重写所指向的一个asp页面动态生的的XML,并不是一个XML文档
    问题在于代理页如何才能向调用者提供一个XML对象,也就是把另一个网站动态生成的XML对象转嫁到调用者身上
      

  10.   

    Response.ContentType = "text/xml"
    确是是在代理页加上这个就行了;)
    我之前搞错了个另一个页面
    唉,不断调试,搞了好几个版本,自已都找不到了;)谢谢楼上帮忙动脑子
      

  11.   

    lz你把sourceUrl改成那个asp页面地址不就行了嘛