我的问题本质上是一个简单的问题,尽管我在这里寻找尽可能深入的答案:
怎么做
LINQ to XML
幕后工作?
现在,我已经有了相当多的为各种应用程序使用LINQ到XML的经验,因此它的接口对我来说并不陌生,但我对内部如何操作一无所知。现在,我对LINQ提供程序的工作原理(实现)有了一些了解
IQueryable
和
IQueryProvider
IQueryProvider
)在
System.Xml.Linq
通过观察LINQ到XML模型,我认为它是LINQ的一种非常独特的形式,因为LINQ查询和相关语法似乎对该技术不太完整,而且它似乎更多地基于可查询的DOM模型,该模型提供了许多有用的扩展方法。实际上,我首先想知道的是,LINQtoXML是否有一个标准意义上的查询提供程序(例如,LINQtoSQL),或者它本质上是一个带有扩展方法的框架,在此基础上可以使用LINQtoObject来促进使用。此外,我还想知道从XML代码到DOM层次结构的解析/转换是如何完成的
XDocument
XmlDocument
XmlReader
或者在加载时在后台解析和解释文档?