1

我有一个关于 Linq to XML 查询的问题,以及我们如何使用新的动态关键字使它们更具可读性。

目前我正在写这样的东西:

var result = from p in xdoc.Elements("product")
             where p.Attribute("type").Value == "Services"
             select new { ... }

我想写的是这样的:

var result = from p in xdoc.Products
             where p.Type == "Services"
             select new { ... }

我知道我可以使用 Linq to XSD 来做到这一点,这已经很不错了,但显然这需要一个 XSD 架构,而我并不总是有一个。

我确信应该有一种方法可以使用 .NET 4.0 的新动态功能来实现这一点,但我不确定如何或是否有人已经尝试过。

显然我会失去 Linq to XSD 的一些优点(类型化成员和编译时间检查),但它不会比原始解决方案差,而且肯定会更具可读性。

有人有想法吗?

谢谢

4

1 回答 1

3

这篇博文探讨了ExpandoObject在 LINQ to XML 场景中的一些使用。

于 2010-06-18T02:43:51.397 回答