繁体   English   中英

使用XDocument.Load(xmlreader)方法?

[英]Using XDocument.Load(xmlreader) method?

我通常听说使用XDocumentLoadParse方法将整个文件加载到内存中,这就是为什么不建议使用此方法解析大文件...但是如果我使用以下重载来读取xml文件怎么办?

XDocument xml = XDocument.Load(XmlReader.Create(@"C:\OP\file.xml", settings),LoadOptions.None);

它是否仍然将整个文件加载到内存中,如果是这样,这个过载有什么用呢?

是的,仍然将整个文件的内容加载到内存中表示中。 它没有XElement.Load(XmlReader)方法那么有用,它一次只能将文档的一部分加载到内存中。

我认为XDocument.Load(XmlReader)方法主要用于保持一致性 - 但我可以看到它在其他API提供XmlReader而不是原始数据的情况下很有用。 例如,您可以使用一些数据结构,通过允许您从中创建XmlReader来提供“虚假”XML访问。 这样,它永远不需要序列化为真正的XML,然后需要再次解析。

另一种使用情况将要使用的某些方面XmlReadSettings这不是avaliable LoadOptions ,如忽略注释或使用特定名称表。

但不,如果您担心文档不适合内存,则不应使用XDocument.Load(XmlReader)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM