將XmlDocument內容寫成字串

將XmlDocument內容寫成字串

XmlDocument有個WriteTo的method可以將其內容寫到XmlWriter內

而XmlWriter又可以建立於StringBuilder上,不過有一個問題是StringBuilder在.Net 2.0

會自動使用UTF-16編碼,而XmlDocument的Save method也是會變UTF-16

手動去更改也無用,所以還要帶上一段XmlWriterSettings

讓XmlWriter寫出的內容為UTF-8,整段程式就會長的像下面的樣子


settings.Indent = true;
settings.IndentChars = "\t";
settings.NewLineChars = "\r\n";
settings.Encoding = System.Text.Encoding.UTF8;
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create( sb, settings );
doc.WriteTo( writer );
writer.Close(); 

其實後來想到直到用XmlDocument的OuterXmll property就能得到整份文

件的內容啦!!!!