使用下面的列表:
<People>
<Continent>Asia</Continent>
<TimeZone>Hong Kong Standard Time</TimeZone>
<Person>
<FirstName>Joe</FirstName>
<LastName>Stevenson</LastName>
</Person>
<Person>
<FirstName>Joe</FirstName>
<LastName>Hancock</LastName>
</Person>
<Person>
<FirstName>Kirby</FirstName>
<LastName>Stevenson</LastName>
</Person>
</People>
字符串
我想使用一些XElement LINQ来选择包含Joe史蒂文森的名字和姓氏的节点。我在这里尝试了以下代码:
string trimmedFirstName = "Joe";
string trimmedLastName = "Stevenson";
List<XElement> peopleChildren = convertedPayload.Descendants("Person").Where(a => a.Value.Contains(trimmedFirstName)
&& a.Value.Contains(trimmedLastName)).ToList();
型
但是当我使用上面的代码时,我相信我不会返回任何东西,因为我试图检查单个值。我想通过值进行选择,XElement名称不可知(所以我应该能够检查,例如,如果某人的姓是“Joe”,名是“史蒂文森”,这样我就可以将其更正为原始数据的实际名字和姓氏)。
当我在上面的LINQ中使用OR运算符时,当然会返回太多的元素。
有没有人能给给予建议?
1条答案
按热度按时间zzlelutf1#
可以使用
Element
方法缩小元素名称的范围。字符串