这个URL不是指向一个特定的XML文件, 而是服务器会根据这串url生成xml信息。这样该怎么读取?

解决方案 »

  1.   

    这个url应该包含一些信息,比如数据库里面的id或者文件名之类,你可以根据这些信息找出服务器上相应的数据生成xml文件
      

  2.   

    你问的是服务器端还是客户端?
    如果使用Web Service就简单点。
    [WebMethod]
    string GetXml(int id)  //参数你自己设计。
    客户端可以使用add web reference生成代理类。直接调用这个代理类即可
    参考:如果不适用web service,而是web site。
    服务器端使用Response.write返回字符串。
    示例:
      protected void Page_Load(object sender, EventArgs e)
            {
                Response.Clear();
                Response.Write(Request["request"].ToString() + "   1111"); //你需要根据参数取得数据,并组合成xml
                
                Response.End();        }客户端使用HttpWebRequest发送请求,并取得结果
    示例
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:2370/Default.aspx?request=aaa");            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream receiveStream = response.GetResponseStream();            Char[] read = new Char[256];            StreamReader readStream = new StreamReader(receiveStream);
                int count = readStream.Read(read, 0, 256);//我的简单示例,会read中是aaa   1111            readStream.Close();            response.Close();
      

  3.   

    URL中应该有唯一标识吧,根据这个标识读取XML文件,与读取数据库类似
      

  4.   

    服务器端,有XmlDocument类,这个类有Load,和LoadXML方法;
    客户端,有Xmldom对象,也有load,和loadXML方法;
    var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');Load方法的参数可以是文件,也可以是url
    如:xmlDoc.load("c:\\a.xml");或xmlDoc.load("http://www.a.com/a.xml");LoadXML方法的参数是字符串,如:
    xmlDoc.loadXML("这里是xml内容");
      

  5.   

    1.Spring.Net动态反射WCF restful Web服务
    2.JQuery ajax或者后台HttpWebResponse方式或者数据
    3.如果要考虑数据大小和效率,可以采用google protobuf当然,比较优化的方式
    具体代码可以参考FortuneBase
    参考地址www.cnblogs.com/mail-ricklee
      

  6.   

    是这样的, 这是建行的查询接口,根据URL里的信息, 建行自动在新打开的IE窗口页面产生XML信息, 这个XML应该是动态生成的, 没有任何ID标示。
      

  7.   

    那你就使用httpwebresponse/httpwebrequest先将数据提交给建行的接口,然后读取它返回的数据,自己解析后,再输出到客户端
      

  8.   

    接口用的是https,用httpwebrequest/httpwebresponse 老是读不出来
      

  9.   

    解决了,代码如下:            HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
                Request.Accept = "gzip, deflate";
                Request.ContentType = "application/x-www-form-urlencoded";
                Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)";
                Request.KeepAlive = true;
                Request.AllowAutoRedirect = false;
                Request.Method = "GET";            HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();            Stream _Stream = Response.GetResponseStream();
                string reString = "";
                if (_Stream.CanRead)
                {
                    using (StreamReader ReadStream = new System.IO.StreamReader(_Stream, Encoding.Default))
                    {
                        reString = ReadStream.ReadToEnd();
                        ReadStream.Close();
                    }
                }
                Response.Headers.GetValues("Location");
                _Stream.Close();
                Response.Close();
      

  10.   

    你好,我用你的代码,然后get豆瓣的信息,但是返回值中中文是乱码?怎么做?
    是直接使用函数:
    public static string getModle(string myUrl)
    {
    HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
                Request.Accept = "gzip, deflate";
                Request.ContentType = "application/x-www-form-urlencoded";
                Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)";
                Request.KeepAlive = true;
                Request.AllowAutoRedirect = false;
                Request.Method = "GET";            HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();            Stream _Stream = Response.GetResponseStream();
                string reString = "";
                if (_Stream.CanRead)
                {
                    using (StreamReader ReadStream = new System.IO.StreamReader(_Stream, Encoding.Default))
                    {
                        reString = ReadStream.ReadToEnd();
                        ReadStream.Close();
                    }
                }
                Response.Headers.GetValues("Location");
                _Stream.Close();
                Response.Close();
             return reString;
       
    }