XML:如果XmlNodeList.Count> = 1,XmlNodeList.Item(#)是否会为空?

时间:2011-04-08 15:14:44

标签: c# xml

我试图弄清楚如果我有一个XmlNodeList对象,并且Count大于或等于1,它的“Item”对象是否会为空?

如果是这样,在调用“HasChildNode”属性之前如何检查它是否为空?

if (XmlNodeList.Item(0).HasChildNodes)

谢谢,

3 个答案:

答案 0 :(得分:2)

在您给出的示例中,任何项目都不会是null - 通常您会以不同的方式访问项目 - 通过索引直接(如果您需要索引):

XmlNodeList nodes= ...
for (int itr = 0; itr < nodes.Count; itr++)
{
   //do something with nodes[i]
}

foreach

XmlNodeList nodes= ..
foreach (XmlNode node in nodes)
{
   //do something with node
}

答案 1 :(得分:1)

即使XmlNodeList中没有节点,它也不为null!您可以尝试“计数”方法来检查:

XmlNodeList TheXmlNodeList = GetMenuItems();
if (TheXmlNodeList.Count > 0)
{
    //has node
}
else
{
    //do not have node
}

答案 2 :(得分:0)

回答(反事实?)“如果是这样”问题:

if (XmlNodeList.Item(0) != null && XmlNodeList.Item(0).HasChildNodes)