Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LINQ to XML vs. XmlReader

In my Silverlight application I'm using mostly XmlReader but I'm playing with idea to replace XmlReader implementation with LINQ to XML.

What are pros and cons between LINQ to XML and XmlReader in Silverlight?

like image 722
Vadim Avatar asked Jul 20 '09 16:07

Vadim


2 Answers

I would just use LINQ to XML in Silverlight.

The one advantage that XmlReader has over LINQ is that it doesn't build a DOM in memory but rather moves over an existing stream. However this difference only really comes into its own if you can start processing the stream as its arriving rather than waiting for the entire content to arrive. This advantage is quite difficult to acheive and only rarely useful.

LINQ to XML is much more straight forward to query and considerably more flexiable to use, the trade off is some extra memory.

like image 132
AnthonyWJones Avatar answered Nov 15 '22 11:11

AnthonyWJones


PROs of Linq to XML

  • Query XML documents with the same LINQ syntax your used to
  • Uses the same X objects that you're used to working with (XElement, etc.)

PROs of using XmlReader

  • Finer grain control over the query syntax (XPath rather than LINQ)

...personally, I switched to LINQ to XML when it was first introduced and never looked back. Haven't noticed any significant performance degradation as of yet.

like image 38
Justin Niessner Avatar answered Nov 15 '22 12:11

Justin Niessner