在我的 Silverlight 应用程序中,我主要使用 XmlReader,但我正在尝试用 LINQ to XML 替换 XmlReader 实现。
Silverlight 中的 LINQ to XML 和 XmlReader 之间的优缺点是什么?
在我的 Silverlight 应用程序中,我主要使用 XmlReader,但我正在尝试用 LINQ to XML 替换 XmlReader 实现。
Silverlight 中的 LINQ to XML 和 XmlReader 之间的优缺点是什么?
我只会在 Silverlight 中使用 LINQ to XML。
XmlReader 相对于 LINQ 的一个优势是它不在内存中构建 DOM,而是在现有流上移动。但是,只有当您可以在流到达时开始处理流而不是等待整个内容到达时,这种差异才会真正体现出来。这种优势很难实现,而且很少有用。
LINQ to XML 的查询更加直接,使用起来也更加灵活,但代价是一些额外的内存。
...就我个人而言,当 LINQ to XML 第一次被引入时,我就切换到了它,并且从未回头。到目前为止还没有注意到任何显着的性能下降。
LINQ to XML 更容易,但是它需要在 System.XML.Linq 中引用,这会增加您的 Silverlight 应用程序需要加载的程序集的数量。因此,根据您的情况和您的提要,有时使用 XMLReader 很有用。