是否有GetElementByTagName处理,如果标签不存在
问题描述:
我有以下代码,但有时候“serving_description”标签不存在。现在,我只是试图绕过它,但我想知道是否有更清晰的方法来处理这种情况。是否有GetElementByTagName处理,如果标签不存在
XmlElement servingElement = (XmlElement)servingNode;
serving.Id = Convert.ToInt32(servingElement.GetElementsByTagName("serving_id")[0].InnerText);
serving.Name = servingElement.GetElementsByTagName("serving_description")[0].InnerText;
答
我宁愿检查返回节点列表是不为空并检查计数大于零使用默认为一个尝试捕捉之前。
一些简单的像
serving.Name = "defaultName";
XmlNodeList elemList = servingElement.GetElementsByTagName("serving_description");
if (elemList != null && elemList.Count > 0)
serving.Name = elemList[0].InnerText;
编辑
如果我没有记错的话,你甚至可能没有为的getElementsByTagName方法可能只是返回一个空来检查空列表(但我无法验证,现在,对不起)
@a从记忆中,我认为你是对的 - 你得到一个空的(但非空)节点集。 – 2010-04-25 08:19:45