C# 是否有一个GetElementByTagName来处理标记是否为';不在那里

C# 是否有一个GetElementByTagName来处理标记是否为';不在那里,c#,xml,xml-parsing,C#,Xml,Xml Parsing,我有下面的代码,但有时“服务描述”标签不在那里。现在我只是想尝试一下,但我想知道是否有更干净的方法来处理这种情况 XmlElement servingElement = (XmlElement)servingNode; serving.Id = Convert.ToInt32(servingElement.GetElementsByTagName("serving_id")[0].InnerText); serving.Name = servingElement.GetElementsByTag

我有下面的代码,但有时“服务描述”标签不在那里。现在我只是想尝试一下,但我想知道是否有更干净的方法来处理这种情况

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

我宁愿检查返回的NodeList是否为null,并检查计数是否大于零,然后再使用default进行try-catch

简单地说

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


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

@astander-从内存中,我想您是对的-您得到一个空(但非null)节点集。