XDocument在名称包含的位置进行降序

本文关键字:位置 降序 包含 XDocument | 更新日期: 2023-09-27 18:25:28

我可能没有在谷歌上搜索到合适的关键词,因为我似乎找不到类似的东西。

我有一个XDocument,它在不同的地方有后代,比如:

<country>
<addressCountry>
<idcountry>

我可以像这个模型代码中那样定位所有子体吗?

XDocument.Descendents.Where(x => x.ToLower().Contains("country"));

我该怎么做?感谢您的帮助。

XDocument在名称包含的位置进行降序

您想要元素的名称local-name部分:

// Adjust this how you wish.
var comparison = StringComparison.InvariantCultureIgnoreCase;
var elements = 
      doc.Descendants()
         .Where(x => x.Name.LocalName.IndexOf("country", comparison) != -1);

(这是一种更干净的执行不区分大小写检查的方法-例如,它避免了小写Iı的"土耳其"问题。令人讨厌的是,Contains没有过载,它需要StringComparisonStringComparer,但这就是生命…)

myXDocument.Descendants("country")

只需处理可能的命名空间问题。。。