2

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

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

1 回答 1

3

我宁愿检查返回的NodeList不为null并检查计数是否大于零,然后再使用默认值try catch

像这样简单的东西

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

编辑

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

于 2010-04-25T05:31:14.357 回答