LINQ to XML против XmlReader - PullRequest
       23

LINQ to XML против XmlReader

5 голосов
/ 20 июля 2009

В моем приложении Silverlight я в основном использую XmlReader, но играю с идеей заменить реализацию XmlReader на LINQ to XML.

Каковы плюсы и минусы между LINQ to XML и XmlReader в Silverlight?

Ответы [ 3 ]

8 голосов
/ 21 июля 2009

Я бы просто использовал LINQ to XML в Silverlight.

Единственное преимущество XmlReader по сравнению с LINQ состоит в том, что он не создает DOM в памяти, а перемещается по существующему потоку. Однако это различие действительно проявляется только в том случае, если вы можете начать обрабатывать поток по мере его поступления, а не ждать поступления всего содержимого. Это преимущество довольно трудно достичь и редко используется.

LINQ to XML намного проще для запросов и значительно более гибок в использовании, компромисс - некоторая дополнительная память.

4 голосов
/ 20 июля 2009

PRO Linq to XML

  • Запрос XML-документов с тем же синтаксисом LINQ, который вы использовали для
  • Используются те же X-объекты, с которыми вы привыкли работать (XElement и т. Д.)

PRO использования XmlReader

  • Более тонкий контроль зерна в синтаксисе запроса (XPath, а не LINQ)

... лично я перешел на LINQ to XML, когда он был впервые представлен, и никогда не оглядывался назад. Пока еще не заметили существенного снижения производительности.

2 голосов
/ 19 мая 2010

LINQ to XML проще, однако он требует ссылки в System.XML.Linq, что увеличивает количество сборок, в которые будет необходимо загружать ваше приложение Silverlight. Поэтому в зависимости от вашей ситуации и ваших каналов, иногда полезно использовать XMLReader.

...