我想使用lambda表达式从name
节点和fix
节点获取值。
<Issue>
<name>asdasasdasd</name>
<fix>zxcczxczxczzxc </fix>
</Issue>
我的尝试是
GlobalVariables.issuesList = doc.Descendants("Issue").Select(s => new IssueModel(s.Value, s.Value) { }).AsEnumerable();
答案 0 :(得分:2)
你的问题还远未明确,但我怀疑你可能想要的东西:
// I would strongly discourage you from using global variables...
var issues = doc.Descendants("Issue")
.Select(x => new IssueModel((string) x.Element("name"),
(string) x.Element("fix")))
.ToList();
ToList()
调用将强制立即评估查询;没有它,每次迭代issues
时都会重新评估。
请注意,如果name
中缺少fix
或Issue
元素,则使用上面的代码,您将获得空引用。您可以改为使用x.Element("name").Value
(并且fix
同上),在这种情况下,如果元素丢失,您将立即获得异常。