1

有一个问题几乎完全符合我想要做的几乎相同的名称,但是我不知道我的 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。另一个问题手动为元素提供标签名称。我不知道他们提前在方法中静态设置它是什么。

4

1 回答 1

6

因此,在我看来,您只想枚举文档中的所有元素。好吧,这里没有什么复杂的,只需调用该Descendants()方法(不带参数),它将返回文档中的所有元素。

private static IEnumerable<XElement> FindAllContainers(XDocument doc)
{
    return doc.Descendants();
}
于 2012-04-20T16:00:12.847 回答