使用linq查询xml

发布于 2024-11-09 20:02:43 字数 581 浏览 5 评论 0原文

我正在尝试使用 linq 从 xml 查询一些信息,但收到这样的错误 - 是的,我已经定义了 - 使用 System.Linq 你能告诉我,哪里有问题吗? 谢谢

错误 1 ​​找不到 查询模式的实现 对于源类型 'urn.P.IEEE.Item1671.Item2.Item2008.Item02.InstrumentDescription.InstrumentDescription'。 未找到“选择”。 D:\文件和 设置\e539951\我的文档\视觉 工作室 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 36 WindowsFormsApplication1

InstrumentDescription test = InstrumentDescription.Load(openFileDialog1.FileName);
 var query = from b in test
             select  new {  b.Identification };

I am trying to query some informations from xml with linq but I am getting error like this - Yes I have defined - using System.Linq
Could you tell me, where is a problem?
Thanks

Error 1 Could not find an
implementation of the query pattern
for source type
'urn.P.IEEE.Item1671.Item2.Item2008.Item02.InstrumentDescription.InstrumentDescription'.
'Select' not found. D:\Documents and
Settings\e539951\my documents\visual
studio
2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 36 WindowsFormsApplication1

InstrumentDescription test = InstrumentDescription.Load(openFileDialog1.FileName);
 var query = from b in test
             select  new {  b.Identification };

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

禾厶谷欠 2024-11-16 20:02:43

在您的代码中,test 仅表示文档的根元素,因此您不能对其使用 LINQ - 它不是一个序列。

您应该做什么取决于您的 XSD 的外观。例如,如果根 InstrumentDescription 元素下可以有多个 Identification 元素,则只需访问 test.Identitication 即可获得列表。

In your code test represents just the root element of the document, so you can't use LINQ on it – it's not an sequence.

What you should do depends on how your XSD looks like. For example, if there can be multiple Identification elements under the root InstrumentDescription element, then just accessing test.Identitication gives you the list.

浸婚纱 2024-11-16 20:02:43

您正在处理 InstrumentDescription 而不是 XDocument,因此您可能需要确保 InstrumentDescription 类是 IQueryable。

如果您确实想要针对 XML 执行 Linq,则需要将其作为数据集加载,或者使用 Linq2XML(using System.Xml.Linq)。

在这里查看更多。 http://msdn.microsoft.com/en-us/library /system.xml.linq.aspx

You're handling InstrumentDescription instead of an XDocument so it's probably that you need to make sure you InstrumentDescription class is IQueryable.

If you're actually wanting to do Linq against your XML, you either need to load it in as a dataset, or use Linq2XML (using System.Xml.Linq).

See more here. http://msdn.microsoft.com/en-us/library/system.xml.linq.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文