昨天您帮我解决了问题,但是后来测试出现一个问题,望给出解决方案 
   System.IO.Stream sRes = res.GetResponseStream();
    System.IO.StreamReader sr = new System.IO.StreamReader(sRes);
    System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
    dom.Load(sRes);
    Response.Write(Server.HtmlEncode(dom.OuterXml));这段接收xml数据的代码,如果接收的包含中文,就出现根级别上的数据无效。 行 1,位置 1。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 根级别上的数据无效。 行 1,位置 1。源错误: 
行 76:  System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
行 77:  //dom.Load(sRes);
行 78:  dom.LoadXml(sr.ReadToEnd());
行 79:  Response.Write(Server.HtmlEncode(dom.OuterXml));
行 80:

解决方案 »

  1.   

    我的xml文件如下
    <?xml version="1.0" encoding="GB2312" ?>
    <pos_Desc>
    <count>2</count>
    <Item id="1">
    <x>116.332236</x>
    <y>39.937738</y>
    <citycode>010</citycode>
    </Item>
    <Item id="2">
    <x>116.332236</x>
    <y>39.937738</y>
    </Item>
    </pos_Desc>
      

  2.   

    有没有试一下 encoding="utf-8"
    我做过没出现不能读中文的情况
      

  3.   

    System.IO.StreamReader sr = new System.IO.StreamReader(sRes,System.Text.Encoding.GetEncoding("GB2312"));
      

  4.   

    http://dev.csdn.net/develop/article/18/18901.shtm
      

  5.   

    源码如下:
    string xml = this.TextBox1.Text.Trim();
    System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("GB2312");
    string strUrl = "http://test.mapabc.com/rgc/rgcdemo";
    byte[] data = encoding.GetBytes(xml); // 准备请求...
    System.Net.HttpWebRequest myRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
    myRequest.Method = "POST";
    myRequest.ContentType = "application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    System.IO.Stream newStream = myRequest.GetRequestStream();
    // 发送数据
    newStream.Write(data, 0, data.Length);
    System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();
    newStream.Close();
    Response.Write(res.StatusCode);
     //接收服务器返回的xml信息
    System.IO.Stream sRes = res.GetResponseStream();
    //System.IO.StreamReader sr = new System.IO.StreamReader(sRes);
    System.IO.StreamReader sr = new System.IO.StreamReader(sRes,System.Text.Encoding.GetEncoding("GB2312"));
    System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
    //dom.Load(sRes);


                dom.LoadXml(sr.ReadToEnd());
    Response.Write(Server.HtmlEncode(dom.OuterXml));this.TextBox1.Text   内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <pos_Desc>
    <count>2</count>
    <Item id="1">
    <x>116.332236</x>
    <y>39.937738</y>
    <citycode>010</citycode>
    </Item>
    <Item id="2">
    <x>116.332236</x>
    <y>39.937738</y>
    </Item>
    </pos_Desc>接收xml时候还是报错根级别上的数据无效。 行 1,位置 1。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 根级别上的数据无效。 行 1,位置 1。求救!!!!!
      

  6.   

    异常详细信息: System.Xml.XmlException: 根级别上的数据无效。 行 1,位置 1。
    说明没有正确返回xml,返回的事错误信息。我看看
      

  7.   

    正确代码如下string xml = TextBox1.Text;
    System.Text.Encoding encoding = System.Text.Encoding.UTF8;string strUrl = "http://test.mapabc.com/rgc/rgcdemo";
    byte[] data = encoding.GetBytes(xml);// 准备请求...
    System.Net.HttpWebRequest myRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
    myRequest.Method = "POST";
    myRequest.ContentType = "application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    System.IO.Stream newStream = myRequest.GetRequestStream();
    // 发送数据
    newStream.Write(data, 0, data.Length);
    System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();
    newStream.Close();System.IO.Stream sRes = res.GetResponseStream();
    System.IO.StreamReader sr = new System.IO.StreamReader(sRes,System.Text.Encoding.UTF8 );
    string ret = sr.ReadToEnd();
    ret = Server.UrlDecode(ret);System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
    dom.LoadXml(ret);
    Response.Write(Server.HtmlEncode(dom.OuterXml));
      

  8.   

    net_lover(【孟子E章】) 
    运用上面的代码后,错误从开始的根级别上的数据无效。 行 1,位置 1。变成
    行“8”上的开始标记“pointDesc”与结束标记“Item”不匹配。 行 9,位置 4。请问错误出在那里那?????
    xml真的不懂,冒方法,帮我看看
      

  9.   

    孟子,经过调试,发现ret = Server.UrlDecode(ret);中的ret是乱码,继续执行,会发现行“8”上的开始标记“pointDesc”与结束标记“Item”不匹配。 行 9,位置 4。救命
    我已经找遍csdn中的相关帖子啦
      

  10.   

    问题已经找到
    原来是第三方提供的webservice出问题日死