Выбор узла из xml файла с помощью xpath

Мой XML файл выглядит так:

<!--?xml version="1.0" encoding="UTF-8"?-->
 <settings>
 <surveysetting isserveyon="false">
 </surveysetting></settings>

Я хочу получить значение IsServeyOn. Я пишу для этого код ниже:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filepath);
XmlElement root = xmlDoc.DocumentElement;
XmlNode node = root.SelectSingleNode("//SurveySetting");
RadiobuttonSurverysetting.SelectedValue = node.Attributes["IsServeyOn"].Value;

Но иногда это дает мне ошибку. Узел не найден или NUll. Есть ли другой способ выбора узла?

1 ответ

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filepath);
XmlElement root = xmlDoc.DocumentElement;
XmlNode node = root.SelectSingleNode("SurveySetting");
if (node != null && node.Attributes.Count > 0 && node.Attributes["IsServeyOn"] != null && !string.IsNullOrEmpty(node.Attributes["IsServeyOn"].Value))
 {
 RadiobuttonSurverysetting.SelectedValue = node.Attributes["IsServeyOn"].Value;
 }

Я пробовал свой код, поместив некоторые проверки, и он отлично работает в моем приложении

licensed under cc by-sa 3.0 with attribution.