开发者

XmlDocument vs XmlWriter

开发者 https://www.devze.com 2022-12-10 11:46 出处:网络
I see you can create xml files using XmlDocument or XmlWriter. Are there开发者_如何学C any benefits of using one method over another?XmlWriter does stream-based writing of XML data.XmlDocument builds

I see you can create xml files using XmlDocument or XmlWriter.

Are there开发者_如何学C any benefits of using one method over another?


XmlWriter does stream-based writing of XML data. XmlDocument builds XML data as an object model in memory.

You use XmlWriter when you need to produce XML documents without using memory proportional to the size of the document. You use XmlDocument when you need to process XML in memory - when you're parsing an existing XML document into an object model, or you're creating elements in arbitrary locations, or updating an existing document, or using XPath to search through a document. (Actually, for the latter case you'd use XPathDocument, but in any event you couldn't use an XmlWriter, since it's write-only.)

Of course it's possible to write XML data to a stream using an XmlDocument. But you're actually using an XmlWriter to do that, because that's what XmlDocument is using internally.


It will depend on your scenario. XmlDocument loads the whole document into memory, while XmlWriter uses a stream so it is better suited when working with large XML documents. On the other hand XmlDocument might be easier to use.


If you support .Net Framework 3.5 I would advise you to work with XDocument and XElement instead. It is a much simpler and friendlier API


XmlDocument stores hole data in the memory, so it is slow when file is big(500 mb and more) but easy to use XmlWriter writes to stream directly

0

精彩评论

暂无评论...
验证码 换一张
取 消