C # проверить XML-узел безопасным способом? - PullRequest
1 голос
/ 12 февраля 2012

У меня есть код:

if (Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name") != null)
                this.Organization = Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name").InnerText;

Однако есть изменения, которые в "merged_poco" могут не иметь "организаций".Может ли мой код привести к ошибке?Или просто этой нулевой проверки достаточно?В моей нулевой проверке я должен также проверить, существуют ли «организации» и «организация»?

Ответы [ 2 ]

2 голосов
/ 12 февраля 2012

Ваш код должен быть достаточным. Вы также можете оптимизировать его следующим образом:

XmlNode node = Element.SelectSingleNode("/rsp/merged_poco/organizations/organization/name");
if (node != null)
    this.Organization = node.InnerText;
1 голос
/ 12 февраля 2012

Если вы хотите узнать, как именно работает определенный метод, вам следует прочитать его документацию :

Возвращаемое значение
Тип: System.Xml.XmlNode
Первый XmlNode, который соответствует запросу XPath или null, если не найдено ни одного соответствующего узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...