接收xml多了一个问号

_VINCE_ 2014-03-28 06:01:03

string text = this.tbUser.Text;
string str = this.mtbPsw.Text;
string s = "username=" + HttpUtility.UrlEncode(text) + "&pwd=" + HttpUtility.UrlEncode(str);
byte[] bytes = Encoding.UTF8.GetBytes(s);
WebClient client = new WebClient();
client.Encoding = Encoding.GetEncoding("utf-8");
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.Headers.Set("Content-Type", "application/x-www-form-urlencoded");
byte[] buffer2 = null;
try
{
buffer2 = client.UploadData("http://localhost:4137/User_Login.ashx", "POST", bytes);
}
catch (Exception)
{
MessageBox.Show("服务器未响应");
return;
}
string xml = Encoding.UTF8.GetString(buffer2);

接收到xml的时候多了个问号


但是在post的页面是没有的。

这里的代码我家了个头是
report="<?xml version=\"1.0\" encoding=\"utf-8\" ?>"+DataToXml.CDataToXml(table);
...全文
438 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2014-03-28
  • 打赏
  • 举报
回复
...Replace("<NewDataSet>","") ...Replace("</NewDataSet>","") 或自己用XmlDocument创建
_VINCE_ 2014-03-28
  • 打赏
  • 举报
回复
引用 4 楼 wyd1520 的回复:
CDataToXml 里面是啥
我已经解决了。不过。

public static string CDataToXml(DataTable dt)
    {
        if (dt != null)
        {
            MemoryStream ms = null;
            XmlTextWriter XmlWt = null;
            try
            {
                ms = new MemoryStream();
                //根据ms实例化XmlWt
                XmlWt = new XmlTextWriter(ms, Encoding.Unicode);
                //获取ds中的数据
                dt.WriteXml(XmlWt);
                int count = (int)ms.Length;
                byte[] temp = new byte[count];
                ms.Seek(0, SeekOrigin.Begin);
                ms.Read(temp, 0, count);
                //返回Unicode编码的文本
                UnicodeEncoding ucode = new UnicodeEncoding();
                string returnValue = ucode.GetString(temp).Trim();
                return returnValue;
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            finally
            {
                //释放资源
                if (XmlWt != null)
                {
                    XmlWt.Close();
                    ms.Close();
                    ms.Dispose();
                }
            }
        }
        else
        {
            return "";
        }
    }
CDataToXml 方法。 现在解析出来是 <NewDataSet><Table><Id>1</Id><MemberId>salman</MemberId><password>30F631B1B6C02143C58DD41D9B347781</password><Finance>536.927</Finance><ConUrl>http://localhost:4137/Notify.aspx</ConUrl><ConName>bbb</ConName><ConKey>444f672de871d26c0b6b7014882e8394</ConKey></Table></NewDataSet> 这样的。我想不要前后的NewDataSet ,应该如何做?
本拉灯 2014-03-28
  • 打赏
  • 举报
回复
CDataToXml 里面是啥
tcmakebest 2014-03-28
  • 打赏
  • 举报
回复
多出来的问号,可能是一个无法显示的乱码
_VINCE_ 2014-03-28
  • 打赏
  • 举报
回复
问题解决了。但是还有个问题, 加载出来的xml文件提示 根级别上的数据无效。
_VINCE_ 2014-03-28
  • 打赏
  • 举报
回复
不知道是什么原因呢?

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧