XMLReader.Create()和新XMLTextReader()之间的区别

Tar*_*rik 12 c# xml

我想学习XMLReader.Createnew XMLTextReader()阅读XML 之间的区别.为什么我会选择一个而不是另一个?
有性能差异吗?

我知道XMLReader是XMLTextReader的抽象类型,至少这是我之前读过的,但我看到人们建议使用XMLReader.Create()方法而不是新的XMLReader()实例.

提前致谢...

真诚.

Jon*_*eet 14

XmlReader.Create允许您指定XmlReaderSettings,没有任何XmlTextReader构造函数重载.


Bri*_*edy 7

微软的答案很简单:

尽管Microsoft .NET Framework在2.0版本中包含XmlTextWriter类(它是XmlWriter类的实现),但建议您使用Create方法创建新的XmlWriter对象。Create方法允许您指定要在创建的XmlWriter对象上支持的功能,还可以使您充分利用2.0版中引入的新功能。

但是答案却没有最重要的区别:

如果您调用“新XmlTextReader”,它将被设置为“ v1compat”模式,这将导致它在某些情况下具有非常糟糕的流传输行为,从而可能导致OutOfMemoryExceptions!请参阅为什么我的新XmlTextReader(stream)将许多兆字节读入内存而不是正确地进行流传输?有关更多信息。

建议:除非您确实需要.NET 1.1行为,否则永远不要调用“ new XmlTextReader”,而应始终调用“ XmlReader.Create”。