试试:string xmlContent = Encoding.Default.GetString(xmlStream);

解决方案 »

  1.   

    byte[] buffer = new byte[xslFileStream.Length];
    xslFileStream.Read(buffer,0,buffer.Length);
    string xmlContent = System.Text.Encoding.UTF8.GetString(buffer);
    我发现xmlContent是"\0\0\0\0\0\0\0\0\0\.....",根本不是原来xml文件的内容。
    紧急求救!!!
      

  2.   

    得看确定存入数据库的那个xml文件是以什么方式保存的
    然后指定这个Encoding读出来
      

  3.   

    我尝试过所有的Encoding好像都是同样的结果
      

  4.   

    Encoding.Default
    Encoding.GetEncoding("GB2312")
      

  5.   

    xml保存二进制文件是把它转化为可视字符然后保存的一般base64编码,还有16进制等
      

  6.   

    我的代码如下:浏览器里什么都没有输出,但是察看源文件的时候,有大量的空白,这些空白的大小刚好和流的大小一样。
    XmlDocument xmlDoc = new XmlDocument();
    byte[] buffer = new byte[xslFileStream.Length];
    xslFileStream.Read(buffer,0,buffer.Length);
    System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312"); 

    string xmlContent = enc.GetString(buffer);
    Response.Write(xmlContent);

    Response.End();