#c# #xml #refactoring
#c# #xml #рефакторинг
Вопрос:
Могу ли я реорганизовать следующий фрагмент кода, считывающий элементы в XML-файле:
if (!(xmlDoc.Element("Element1").Element("Element2").Element("Element3").Element("Element4").Element("Element5").Element("Element6") == null))
{
}
Ответ №1:
Попробуйте использовать XPath
выражение для поиска элемента, который вы хотите, этот отправленный вами код может легко выдать неожиданный, NullReferenceException
который, вероятно, вам не нужен catch
.
Что-то вроде этого:
if (xPath.evaluate("count(/Element1/Element2/Element3/Element4)", xmlDoc) > 0)
{
}
PS.
Почему вы отрицаете выражение == null
? Лучше читается и поддерживается, != null
без отрицания и завершения ()
в вашем логическом выражении.
Комментарии:
1. Какой тип объекта вы использовали для инициализации переменной XPath?