这些使用LINQ的方法不正确吗?

时间:2012-06-28 05:42:33

标签: linq linq-to-xml

只是想知道这些是否是使用LINQ的不正确方法。他们工作,只是不知道他们是否打破了任何东西。

//示例1:从XML元素获取字符串(这里,我正在跳过LINQ查询)

measurements.a = (string)bm.Descendants("a").SingleOrDefault();

//示例2:使用后代“钻入”直到我到达我想要的元素。 //我之所以有2个后代的原因是因为“b”需要成为“a”的孩子

measurements.title = (from e in bm.Descendants("a").Descendants("b")
                                    select e.Value).SingleOrDefault();

感谢您的时间。 :) 詹姆斯

1 个答案:

答案 0 :(得分:2)

在我看来,这些都是完全正确的。唯一需要注意的是,您可能希望获得XElement的值,而不是元素本身:

var a = (string)bm.Descendants("a").SingleOrDefault().Value;

如果将单个后代转换为字符串,但它包含复杂内容(例如子元素)而不是字符串,则可能会遇到问题。