我可能不会使用Google搜索正确的关键字,因为我似乎找不到任何类似的关键字。
我有一个在不同地方有后代的XDocument,如:
<country>
<addressCountry>
<idcountry>
我可以在此模型代码中找到所有后代吗?
XDocument.Descendents.Where(x => x.ToLower().Contains("country"));
我该怎么做?感谢您的帮助。
答案 0 :(得分:7)
您希望元素的名称的本地名称部分:
// Adjust this how you wish.
var comparison = StringComparison.InvariantCultureIgnoreCase;
var elements =
doc.Descendants()
.Where(x => x.Name.LocalName.IndexOf("country", comparison) != -1);
(这是一种更简洁的方法,可以执行不区分大小写的检查 - 例如,它避免了“套土I
到ı
的”土耳其“问题。令人讨厌的是没有超载适用于Contains
或StringComparison
的{{1}},但这就是生活......)
答案 1 :(得分:0)
myXDocument.Descendants("country")
只需处理可能存在的命名空间问题......