new starting point new beginning
学习、合作、共赢

问题如标题所述,使用formattedXml.ToCharArray()[0]代码,显示出来的字符串是65279,经google,发现这个是UTF-8编码所识别的一个字符,但通常是不需要的,而且多了它,输出的文本就多一个问号。

查到的解决办法如下,在指定UTF8Encoding时,设置不需要BOM字符:

=========================================================

1 var serializer = new XmlSerializer(typeof(Xsd.MESSAGE)); 

2 Encoding utf8EncodingWithNoByteOrderMark = new UTF8Encoding(false); 
3 XmlTextWriter xtw = new XmlTextWriter(stream, utf8EncodingWithNoByteOrderMark); 
4 serializer.Serialize(xtw, response); 
5  
6 string xml = Encoding.UTF8.GetString(stream.ToArray()); 
posted on 2012-09-07 17:53  xpengfee  阅读(715)  评论(0编辑  收藏  举报