是否有一个 GetElementByTagName 来处理标签不存在的情况

发布于 2024-08-30 00:37:55 字数 343 浏览 0 评论 0原文

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

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

i have the following code below but sometime the "serving_description" tag isn't there. Right now i just put a try catch around it but i wanted to find out if there was a cleaner way to handle this scenario.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光瘦了 2024-09-06 00:37:55

我宁愿检查返回的 NodeList 是否不为 null,并在使用默认为 try 之前检查计数是否大于零抓住。

一些简单的东西,比如

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

EDIT

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

I would rather check that the returning NodeList is not null and check that the count is greater than zero before using defaulting to a try catch.

Something simple like

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

EDIT

If I am not mistaken, you might not even have to check for the null as the GetElementsByTagName method might just return an empty list(but I cannot verify that right now, sorry)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文