有一个question几乎完全符合我想要的名称,但我不知道我的XML DOM会提前显示什么。
我想做这样的事情:
private static IEnumerable<XElement> FindAllContainers(XDocument xml)
{
IEnumerable<XElement> query = from XElement outer in xml.Root.Elements()
from XElement node in outer.Elements()
where true //Enum.IsDefined(typeof(Role), GetContainerRole(node))
select node;
return query;
}
基本的想法是我想查询任何给定XML结构的所有 XElements的枚举。上面的代码不会返回任何结果。 xml包含一个大的嵌套XML结构并且是一个XDocument。另一个问题是手动为Elements提供标签名称。我不知道他们提前在方法中静态设置它。
答案 0 :(得分:6)
因此,我觉得你只想枚举文档中的所有元素。这里没什么复杂的,只需调用Descendants()
方法(没有参数),它将返回文档中的所有元素。
private static IEnumerable<XElement> FindAllContainers(XDocument doc)
{
return doc.Descendants();
}