获取";键“;属性

本文关键字:属性 获取 quot | 更新日期: 2023-09-27 18:21:48

我有一个XML文件,它有一个结构,并试图从"Key"answers"value"中获取值:

  <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并获取这些"键"answers"值"的值。我正在写的代码是

            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;
            }

当我尝试运行这段代码时,会出现"对象未设置为实例"的错误。我想知道在获取Value的代码中是否存在错误。如有任何建议,我们将不胜感激。

获取";键“;属性

由于您想要获得appSettings子级,因此应该使用

xmlDoc.SelectNodes("appSettings/add");