我试图弄清楚如果我有一个XmlNodeList对象,并且Count大于或等于1,它的“Item”对象是否会为空?
如果是这样,在调用“HasChildNode”属性之前如何检查它是否为空?
if (XmlNodeList.Item(0).HasChildNodes)
谢谢,
答案 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)