作者flamo (迅雷不及掩耳盗铃)
看板C_Sharp
标题Re: [问题] LINQ TO XML更改编码问题
时间Fri May 28 19:59:27 2010
如果你要输出ascii编码的"字串"而非"XML", 那要传出byte[],
string永远是UTF-16的.
XDocument doc = XDocument.Parse("<test></test>");
using (MemoryStream stream = new MemoryStream())
{
StreamWriter writer = new StreamWriter(stream, Encoding.ASCII);
doc.Save(writer);
stream.Position = 0;
byte[] asciiArray = new byte[stream.Length];
stream.Read(asciiArray, 0, asciiArray.Length);
return asciiArray;
}
※ 引述《flamo (迅雷不及掩耳盗铃)》之铭言:
: 试试这味
: XDocument doc = XDocument.Parse("<test></test>");
: using (MemoryStream stream = new MemoryStream())
: {
: StreamWriter writer = new StreamWriter(stream, Encoding.ASCII);
: doc.Save(writer);
: stream.Position = 0;
: return new StreamReader(stream).ReadToEnd();
: }
: ※ 引述《godsing (执着是苦)》之铭言:
: : 如题
: : XNamespace xmlns = "http://www.microsoft.com/networking/WLAN/profile/v1";
: : XDocument xdoc = new XDocument(
: : new XDeclaration("1.0","US-ASCII",null),
: : ..........
: : .......
: : );
: : StringWriter sw = new StringWriter();
: : xdoc.Save(sw);
: : return sw.ToString();
: : 请问要怎样改成encoding ASCII??
: : 不管怎样它都输出UTF-16....
: : 感觉不难,结果GOOGLE出奇的难找.....
: : 感谢解答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.150.76