0
我已經使用XDocument來創建簡單的xml文檔。我使用XDocument和XDeclaration創建了文檔。爲什麼使用XDocument的WriteTo方法更改了XDocument編碼類型
XDocument encodedDoc8 = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("Root", "Content"));
如果我將此文檔保存到文件意味着編碼類型不會更改。
using (TextWriter sw = new StreamWriter(@"C:\sample.txt", false)){
encodedDoc8.Save(sw);
}
輸出:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>Content</Root>
但是,如果使用的XDocument的的writeTo方法打印xml裝置編碼類型被改變。
using (XmlWriter writ = XmlWriter.Create(Console.Out))
{
encodedDoc8.WriteTo(writ);
}
輸出:
<?xml version="1.0" encoding="IBM437" standalone="yes"?><Root>Content</Root>
爲什麼發生這種情況。請提前更新answers.Thanks。
[XML序列化,編碼]的可能重複(https://stackoverflow.com/questions/4928323/xml-serialization-encoding) –
因爲'Console.Out.Encoding'將是IBM437 –