找不到' ChildNodes'在System.Xml.Linq.XNode中

时间:2014-04-17 16:07:41

标签: c# visual-studio-2012

正在.Net framwork 4.5上正确编译以下代码。

  public void SetProperties(System.Xml.XmlNode properties)
        {
                int tempFor1 = properties.ChildNodes.Count;
        }

由于类型System.Xml.XmlNode现已在.NetCore中过时,因此我将其替换为System.Xml.Linq.XNode。 但是当我尝试在.NetCore上构建它时,它会出现“ChildNodes”错误。

这是更新的代码。

public void SetProperties(System.Xml.Linq.XNode properties)
        {
                int tempFor1 = properties.ChildNodes.Count;
        }

获取子节点数的可能解决方案是什么?

2 个答案:

答案 0 :(得分:2)

尝试这样的事情......

public void SetProperties(System.Xml.Linq.XNode properties)
{
     var element = properties as XElement;
     int tempFor1 = 0;
     if (element != null)
     {
        tempFor1 = element.Elements().Count();
     }
}

答案 1 :(得分:1)

如果您的XNode是Element,则将其强制转换为XElement。然后它将有一个Elements()方法,您可以使用标准Linq to Objects来Count()。如果您没有看到Count()函数,请确保添加

using System.Linq;