<?xml version="1.0" encoding="utf-8" ?>
<item>
  <ip>192.168.1.119</ip>
  <ip>192.168.1.37</ip>
  <ip>192.168.1.47</ip>
  <ip>192.168.1.52</ip>
  <ip>192.168.1.69</ip>
</item>
定义一个public string _ip =192.168.1.37 foreach (XmlNode ipNode in ipNodes)
            {
                if (ipNode.InnerText.Contains(_ip))
                {
                   //保存记录信息
                    break;
                }
                 else{
                      //记录未成立的信息,保存_ip
                      }
            }
判断不成立时,我也想记录这个_ip,当是用foreach 的话,他会每次都判断,记录信息,就多次记录,现在只想记录一次这个_ip,大家有什么方法?

解决方案 »

  1.   

    记录到哪里?执行insert into 记录到数据库吗?可以拼接sql ,  select 'ip' unon all select 'ip'
    最后一次执行啊
      

  2.   

     foreach (XmlNode ipNode in ipNodes)
      {
      if (ipNode.InnerText.Contains(_ip))
      {
      //保存记录信息
      break;
      }
      else{
      //记录未成立的信息,保存_ip
      break;
      }
      }
      

  3.   

    这样记录的话,他会逐个判断,逐个记录,每次都会记录一次,要是有10000个ip在xml文件中,而ip不相等的情况,他会记录10000次相同的信息
      

  4.   


    using System.Text;StringBuilder sb = new StringBuilder(); foreach (XmlNode ipNode in ipNodes)
      {
      if (ipNode.InnerText.Contains(_ip))
      {
      //保存记录信息
      break;
      }
      else{
           //记录未成立的信息,保存_ip,每个不同的ip通过逗号来分割连接保存
            sb.Append(ipNode.InnerText);
            sb.Append(",");
      }
     }string noIP = sb.Replace(",", "", sb.Length - 1, 1).ToString(); 
      

  5.   

    这个也不行,同样记录xml中的所有值,我是想if (ipNode.InnerText.Contains(_ip))不成立的时候,只记录_ip=定义的信息,也就只有一组数据