2013-03-07 38 views
3

如何在读取xml时将XmlTextReader编码设置为“windows-1252”。我不想使用xml中的编码。设置XmlTextReader编码为“windows-1252”

XmlTextReader xtr = new XmlTextReader(pathToXML); 

注意:为了保留换行符,我必须使用XmlTextReader而不是StreamReader。

+0

为什么不使用XmlReader.Create? – 2013-03-08 01:49:31

+0

@JohnSaunders我使用XmlTextReader的原因是在读取期间持续多行。 http://stackoverflow.com/questions/15283585/how-to-let-xdocument-load-preserve-line-break – dongx 2013-03-14 21:33:53

+0

哪条线断?请参阅[XmlReaderSettings.IgnoreWhitespace属性](http://msdn.microsoft.com/zh-cn/library/system.xml.xmlreadersettings.ignorewhitespace.aspx)以了解它是否具有同等效果。 – 2013-03-14 21:51:06

回答

5
StreamReader reader = new System.IO.StreamReader(pathToXML, System.Text.Encoding.GetEncoding("Windows-1252"), true); 
XmlTextReader xmlReader = new XmlTextReader(reader); 

应工作