我写遍历xml文件时老是报这样的错。望各位指点指点!!!
 XmlDocument doc = new XmlDocument();
             doc.Load(@"keyword.xml");             XmlNodeList topn = doc.DocumentElement.ChildNodes;
             foreach (XmlNode xn in topn)
             {
                 
                 if (!xn["number"].Value.Equals("1"))//就是这里报错
                 {
                     MessageBox.Show(xn["number"].Value);
                  }
             }

解决方案 »

  1.   

    你大概把XML前几句贴出来看看.不过我很少用xn["number"].Value这样的写法.
    我一般用xn.Item(i).Name, xn.Item(i).Value的写法
      

  2.   

                foreach (XmlNode xn in topn)   
                {   
                  //将子节点类型转换为XmlElement类型   
                    XmlElement xe = xn as XmlElement ;   
                  if(xe != null)
                  {
                    //你的操作   
                  }                
                } 
      

  3.   

    xn["number"]这个是不是应该加一个null判断?
    XmlDocument doc = new XmlDocument(); 
             doc.Load(@"keyword.xml");          XmlNodeList topn = doc.DocumentElement.ChildNodes; 
             foreach (XmlNode xn in topn) 
             { 
                if (xn["number"] == null)
                    continue;
                if (!xn["number"].Value.Equals("1"))//就是这里报错 
                  { 
                    MessageBox.Show(xn["number"].Value); 
                } 
             }