2

只是想知道这些是否是使用 LINQ 的不当方式。他们工作,只是不知道他们是否破坏了任何东西。

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

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

// 示例 2:使用 Descendants 进行“钻取”,直到找到我想要的元素。// 我在这里有 2 个后代的原因是因为“b”需要是“a”的孩子

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

谢谢你的时间。:) 詹姆士

4

1 回答 1

2

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

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

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

于 2012-06-28T05:53:52.047 回答