我需要在XmlTextReader上设置MaxCharactersFromEntities,这是到目前为止的代码:
xmlDocument = new XmlDocument();
xmlTextReader = new XmlTextReader(fileInfo.FullName);
xmlTextReader.Settings = new XmlReaderSettings();
xmlTextReader.Settings.MaxCharactersFromEntities = 0;
var vr = new XmlValidatingReader(xmlTextReader);
vr.ValidationType = ValidationType.None;
vr.EntityHandling = EntityHandling.ExpandEntities;
xmlDocument.Load(vr);
Settings属性是只读的,因此无法设置,并且它是否为null?这应该如何工作?
您应该改用XmlReader.Create(string, XmlReaderSettings)
创建您的阅读器实例。
从MSDN参考:
从.NET Framework 2.0开始,我们建议您改用System.Xml.XmlReader类。
这个想法是使用基类的Create(...)工厂方法,XmlReader
而不是直接实例化派生类。另请参见工厂方法模式以获取更多信息。
由于在构造函数中XmlValidatingReader
采用,因此其余代码不会受到影响XmlReader
。
因此,您应该以类似以下内容结束:
xmlDocument = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.MaxCharactersFromEntities = 0;
XmlReader reader = XmlReader.Create(fileInfo.FullName, settings);
var vr = new XmlValidatingReader(reader);
vr.ValidationType = ValidationType.None;
vr.EntityHandling = EntityHandling.ExpandEntities;
xmlDocument.Load(vr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句