如何判断Xnode是否为XElement类型

本文关键字:是否 XElement 类型 Xnode 何判断 判断 | 更新日期: 2023-09-27 18:27:52

我正在从所有Descendant Nodes元素的列表中运行linQ查询。我想区分并过滤掉XElement类型。除了使用.toString()并将其与"Element"进行比较之外,我还能如何做到这一点?

 string filename = @"C:'MyFiles'Programming'XML'MobileResponse2.xml";
        var elem = XElement.Load(filename);
        var query = from c in elem.DescendantNodes()
                    where c.NodeType.ToString() == "Element"  
                    select c;

注意:我可以用elem。Descendant或elements(),但我正试图弄清楚如果对象是特定类型的,如何签入"Where"子句?

我本来打算去

where c.NodeType.ToString() is XElement

但那没用。

如何判断Xnode是否为XElement类型

编辑:刚刚注意到您的"Note";)

var query = elem.DescendantNodes().Where (w => w is XElement);

试试这个

string filename = @"C:'MyFiles'Programming'XML'MobileResponse2.xml";
var elem = XElement.Load(filename);
var query = from c in elem.DescendantNodes()
            where c is XElement
            select c;