【发布时间】:2018-07-26 20:47:09
【问题描述】:
我在给定位置有一个 XML 文件,我希望将 XML 的内容保存在一个字符串变量中。但是,当我打印出来时,编码会发生变化。我就是这样做的。
XmlDocument xmlFile = new XmlDocument();
xmlFile.Load(xmlFileLocation);
using (StringWriter stringWriter = new StringWriter(new StringBuilder()))
{
using (XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter) { Formatting = Formatting.Indented })
{
xmlFile.Save(xmlTextWriter);
}
return stringWriter.ToString();
}
当我尝试使用给定的编码初始化 XmlTextWriter (new XmlTextWriter(stringWriter, Encoding.UTF8)) 时,我遇到了 StringWriter 的问题,但我不知道如何解决。有什么想法吗?
问题是:无法从 StringWriter 转换为 Stream
【问题讨论】:
-
xmlFile.OuterXml有什么问题(见stackoverflow.com/questions/2407302/…)? -
只用
File.ReadAllText? '编码更改'的意思并不完全清楚,但我猜它是this question的副本。
标签: c# xml xml-serialization xmlwriter