使用XElement.Elements方法,我可以找到带有通配符名称空间但名称相同的元素吗?

尝试对XML文档进行简单的解析。 取出下面两个PropertyGroups的最简单方法是什么?

  1   2   

我一直在尝试使用XElement.Elements(XName),但为此我需要在PropertyGroup前加上xmlns。 问题是我不关心名称空间,如果它将来发生变化,我仍然希望检索所有PropertyGroups。

  var xml = XElement.Load(fileNameWithPath); var nameSpace = xml.GetDefaultNamespace(); var propertyGroups= xml.Elements(nameSpace + "PropertyGroup"); 

您是否可以改进此代码,以便我不需要使用nameSpace作为前缀? 我知道我基本上可以重新实现Elements方法,但我希望有一些方法来传递一个通配符名称空间?

谢谢,

加文

这对你有用吗?

 xml.Elements().Where(e => e.Name.LocalName == "PropertyGroup")