我试图用linq从xml中查询一些信息,但我遇到了这样的错误-是的,我已经定义了-使用System.linq你能告诉我哪里有问题吗?感谢
错误1找不到查询模式的实现对于源类型"urn.P.IEEE.第1671项第2项第2008项第02项仪器描述仪器描述"。未找到"Select"。D: \文件和设置\e539951\my documents\visual演播室2010\Projects\WindowsFormsApplication1\WindowsFormsAapplications1\Form1.cs 28 36 WindowsFormsAapplication1
InstrumentDescription test = InstrumentDescription.Load(openFileDialog1.FileName);
var query = from b in test
select new { b.Identification };
在您的代码中,test
只代表文档的根元素,所以您不能在它上使用LINQ——它不是一个序列。
您应该做什么取决于XSD的外观。例如,如果根InstrumentDescription
元素下可以有多个Identification
元素,那么只需访问test.Identitication
即可获得列表。
您处理的是InstrumentDescription
而不是XDocument
,因此可能需要确保InstrumentDescription
类是IQueryable。
如果您真的想对XML执行Linq,则需要将其作为数据集加载,或者使用Linq2XML(using System.Xml.Linq
)。
点击此处查看更多信息。http://msdn.microsoft.com/en-us/library/system.xml.linq.aspx