我在下面有以下代码,但有时“serve_description”标签不存在。现在我只是尝试一下它,但我想知道是否有更清洁的方法来处理这种情况。
XmlElement servingElement = (XmlElement)servingNode;
serving.Id = Convert.ToInt32(servingElement.GetElementsByTagName("serving_id")[0].InnerText);
serving.Name = servingElement.GetElementsByTagName("serving_description")[0].InnerText;
答案 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 方法可能只返回一个空列表(但我不能现在验证,抱歉)