因在控制台程序中读取web.config,所以不能用.net自带的类,对xml操作不熟,请指教,不甚感激:XmlDocument doc = new XmlDocument();
string path = @"e:\web\web.config";
doc.Load(@path);
XmlElement root=doc.DocumentElement;
foreach(XmlNode node in root)
{
  if(node.Name.ToString() == "appSettings")
  {
    XmlNodeList app = node.ChildNodes;//app节点
    foreach(XmlNode node1 in app)
    {
      //这里可以看到我自定义的10个"add"
      Response.Write(node1.Name);
      
      //但这句出错提示:未将对象应用到实例
      //Response.Write(node1.Attributes["key"].Value);
    }
  }
}

解决方案 »

  1.   

    Response.Write(node1.Attributes["key"].NodeValue);
      

  2.   

    System.Configuration.ConfigurationSettings.AppSettings["你的KEY"]
      

  3.   

    反序列化XML文件   然后在读取
      

  4.   

    郁闷,现在的回复都如此不负责任,自己搜索ing......
      

  5.   

    lz,你需要什么样的回复啊?
    我已经说得很清楚了啊
    System.Configuration.ConfigurationSettings.AppSettings["你的KEY"]
    你的那堆代码都可以不要了
    直接用这一句就可以了啊,只是需要留下你操作这个字符串的代码就行了啊
    还有什么不明白的吗?
      

  6.   

    回楼上:你试试在控制台程序里用System.Configuration.ConfigurationSettings.AppSettings["你的KEY"]看能不能取到web.config中的节点属性?控制台程序根WEB无关,它根本不知道你的WebRoot目录在哪?何来获取web.config?离开WEB项目,这个.net自带的方法根本无法读取web.config......
      

  7.   

    原来如此
    不好意思,我没有看清lz用的是web.config那我帮lz写一个吧,^_^实在抱歉
      

  8.   

    也许是我的错,我的题目应该叫做:xml中如何获取子节点的属性值,因为这个问题根web.config无关,其实就是一个读取xml的问题,我获取到了子节点,如果获取子节点中的属性值?
      

  9.   

    就是一个读取xml节点的程序吧。搜索 xml数据岛,里面有都是读取xml的例子。保证你收获大大
      

  10.   

    不好意思
    刚才跑出去吃饭了
    现在才回复
    XmlDocument doc = new XmlDocument();
    doc.Load(@"C:\Documents and Settings\Reeezak\Desktop\WindowsApplication1\Web.config");
    XmlNodeList appSettings = doc.GetElementsByTagName("appSettings")[0].ChildNodes;
    string s ;
    foreach(XmlNode appSetting in appSettings)
    {
    s = appSetting.Attributes[1].Value; //因为那个值是第二个属性,lz可以换成0试试
    }当然,上面的这段代码比较弱智,我灯下还要出去,lz可以自己试验XPath的方式
    给lz一个提示,即XPath的表达式为"//configuration/appSettings/*"
      

  11.   

    一整天,早饭没吃,中饭没吃,终于自己搞定:原来默认将注释也作为一个节点,遍历时是输出每个节点的属性,注释没属性,当然出现"未将对象引用到实例"的常规错误。将利用DOM读取web.config自定义配置的完整代码贴出,希望有此问题的人不再像我今天这么痛苦:
    XmlDocument doc = new XmlDocument();
    string path = @"e:\web\web.config";
    doc.Load(@path);
    XmlElement root=doc.DocumentElement;
    foreach(XmlNode node in root)
    {
    if(node.Name == "appSettings")
    {
    XmlNodeList app = node.ChildNodes;
    foreach(XmlNode node1 in app)
    {
    if(node1.Name == "add")
    {
    Response.Write(node1.Attributes["value"].Value+"<br>");
    }
    }
    }
    }