在XML配置文件中获取“Key”属性

时间:2014-09-15 02:56:20

标签: c# xml

我有一个带有结构的XML文件,并试图从" Key"和"价值":

  <appSettings>
  <add key="Url" value=" http://book.jetstar.com/"/>

  <!--Id's or Xpath-->
  <add key="Origin" value="somevalue"/>
  <add key="Destination" value="somevalue"/>
  <add key="Adult" value ="somevalue" />
  <add key="somevalue"/>

  <!--Controls-->
  <add key="OriginCtrl" value=" Input"/>
  <!--Textbox-->
  <add key="DestinationCtrl" value=" Input"/>
  <add key="AdultCtrl" value=" Select"/>
  <add key="SearchFlightsCtrl " value=" Button"/>

</appSettings> 

我正在尝试创建一个循环遍历XML并获取这些&#34; key&#34;的值的循环。和&#34;价值&#34;。我写的代码是

            XmlDocument xmlDoc = new XmlDocument();
            XmlNodeList xmlnodelist;        
            string keyname = "";
            string keyvalue = "";
            xmlDoc.Load(filename);
            xmlnodelist = xmlDoc.SelectNodes("appSettings");

            foreach (XmlNode nodes in xmlnodelist)
            {
                keyname = nodes.Attributes.GetNamedItem("key").Value;
                keyvalue = nodes.Attributes.GetNamedItem("value").Value;
            }

错误&#34;对象未设置为实例&#34;当我尝试运行这段代码时会上升。我想知道获取Value的代码中是否存在错误。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

由于您希望获得appSettings孩子,您应该使用

xmlDoc.SelectNodes("appSettings/add");