使用xpath从xml文件中选择Node

时间:2013-09-02 10:16:08

标签: c# xml xpath

我的XML文件如下:

<?xml version="1.0" encoding="UTF-8"?>
   <Settings>
     <SurveySetting IsServeyOn="false" />
   </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 个答案:

答案 0 :(得分: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;
  }

我通过一些验证尝试了你的代码,它在我的应用程序中运行良好