我可能没有在谷歌上搜索正确的关键字,因为我似乎找不到任何类似的东西。
我有一个 XDocument,它在不同的地方都有后代,例如:
<country>
<addressCountry>
<idcountry>
我可以像在这个模型代码中那样定位所有后代吗?
XDocument.Descendents.Where(x => x.ToLower().Contains("country"));
我该怎么做呢?感谢您的任何帮助。
我可能没有在谷歌上搜索正确的关键字,因为我似乎找不到任何类似的东西。
我有一个 XDocument,它在不同的地方都有后代,例如:
<country>
<addressCountry>
<idcountry>
我可以像在这个模型代码中那样定位所有后代吗?
XDocument.Descendents.Where(x => x.ToLower().Contains("country"));
我该怎么做呢?感谢您的任何帮助。
您想要元素名称的本地名称部分:
// Adjust this how you wish.
var comparison = StringComparison.InvariantCultureIgnoreCase;
var elements =
doc.Descendants()
.Where(x => x.Name.LocalName.IndexOf("country", comparison) != -1);
(这是执行不区分大小写检查的一种更简洁的方法 - 例如,它避免了小写的“土耳其”问题I
。ı
令人讨厌的是,没有Contains
采用 aStringComparison
或 a的重载StringComparer
,但这就是生活。 ..)
myXDocument.Descendants("country")
只需处理可能的命名空间问题...