探讨一下XmlWriter 這個功能

hanghangz 2009-03-17 04:20:31
代码:
StringBuilder xml = new StringBuilder();
XmlWriterSettings writersettings = new XmlWriterSettings();
writersettings.CheckCharacters = false;
writersettings.Encoding = Encoding.GetEncoding("gb2312");
writersettings.Indent = true;
writersettings.OmitXmlDeclaration = false;


XmlWriter writer = XmlWriter.Create(xml,writersettings);
writer.WriteStartElement("WebPage");

writer.WriteStartElement("Type");
writer.WriteValue("dddddddddddd");
writer.WriteEndElement();

writer.WriteStartElement("Site");
writer.WriteValue("ffffffff");
writer.WriteEndElement();

writer.WriteStartElement("Url");
writer.WriteValue("dddddddd");
writer.WriteEndElement();

writer.WriteEndElement();

writer.Flush();
writer.Close();
Console.WriteLine(xml.ToString());

输入结果:
<?xml version="1.0" encoding="utf-16"?>
<WebPage>
<Type>dddddddddddd</Type>
<Site>ffffffff</Site>
<Url>dddddddd</Url>
</WebPage>


看结果知道了,xml的声明为<?xml version="1.0" encoding="utf-16"?>,而不是我想得到的gb2312。无论在XmlWriterSettings 中如何设置,都是utf-16.
这种设置对不?要怎么解决?
不要说把 改成writersettings.OmitXmlDeclaration = true
然后<?xml version="1.0" encoding="Gb2312"?>+xml.ToString();
我的编译环境为vs2008
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanghangz 2009-03-19
  • 打赏
  • 举报
回复
没人知道么?看样子只有笨办法老
cuisea 2009-03-17
  • 打赏
  • 举报
回复
学习

110,539

社区成员

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

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

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