【发布时间】:2011-08-10 15:52:08
【问题描述】:
我在 linq 查询到 xml 树时遇到了一些问题。树形结构如下所示:
<Student>
<ID> Hello </Hello>
<Classroom>
<Name> 1B </Name>
<Year> 1 </Year>
</Classroom>
<Classroom>
<Name> 2B </Name>
<Year> 2 </Year>
</Classroom>
<Classroom>
<Name> 3B </Name>
<Year> 3 </Year>
</Classroom>
</Student>
现在这是 5 个学生条目中的一个。假设我从另一个方法传递了一个 XElement Student 节点,我想搜索一个给定 XElement Student 节点和教室名称的教室。所以我必须写一个这样的方法:
getClassRoomNode(XElement StudentNode, string classroomName)
这是我尝试过的。请让我知道我错在哪里
XElement classroom = StudentNode.Descendants("Classroom")
.Where(arg => arg.Element("Name").Value == classroomName)
.Select(arg => arg.Parent)
.First();
这将再次返回 StudentNode 而不是教室节点。谁能帮我解决这个问题?
【问题讨论】:
-
您的 XML 中有错误,格式不正确的“
” -
对不起,这只是一个例子......现在修复
标签: c# linq-to-xml