【发布时间】:2011-12-17 01:12:58
【问题描述】:
我真的需要关于下面 where 子句的帮助。
考虑这个 xml
<name xmlns="http://www.imsglobal.org/xsd/imslip_v1p0">
<partname>
<typename>
<tyvalue>First</tyvalue>
</typename>
<text>Charles</text>
</partname>
<partname>
<typename>
<tyvalue>Last</tyvalue>
</typename>
<text>Ward</text>
</partname>
</name>
此代码返回一个元素
List<XElement> xElements = xmlDocument.Descendants(Aw + "name").
Where(x => (x.Element(Aw + "partname").Element(Aw + "typename").Element(Aw + "tyvalue")).Value == "First").
Select(x => x.Element(Aw + "partname").Element(Aw + "text")).ToList();
但如果我将 where 子句更改为“Last”,它会返回零个元素。
List<XElement> xElements = xmlDocument.Descendants(Aw + "name").
Where(x => (x.Element(Aw + "partname").Element(Aw + "typename").Element(Aw + "tyvalue")).Value == "Last").
Select(x => x.Element(Aw + "partname").Element(Aw + "text")).ToList();
请帮忙。我真的被困住了。
【问题讨论】: