有一个GetElementByTagName,如果标签不存在,它将处理

时间:2010-04-25 05:28:52

标签: c# xml xml-parsing

我在下面有以下代码,但有时“serve_description”标签不存在。现在我只是尝试一下它,但我想知道是否有更清洁的方法来处理这种情况。

XmlElement servingElement = (XmlElement)servingNode;
serving.Id = Convert.ToInt32(servingElement.GetElementsByTagName("serving_id")[0].InnerText);
serving.Name = servingElement.GetElementsByTagName("serving_description")[0].InnerText;

1 个答案:

答案 0 :(得分:3)

我宁愿检查返回的 NodeList 非空,并在使用默认值<之前检查计数是否大于零 em>尝试抓住

这样的简单
serving.Name = "defaultName";
XmlNodeList elemList = servingElement.GetElementsByTagName("serving_description");
if (elemList != null && elemList.Count > 0)
    serving.Name = elemList[0].InnerText;

修改

如果我没有弄错,你可能甚至不必检查 null ,因为 GetElementsByTagName 方法可能只返回一个空列表(但我不能现在验证,抱歉