修改XML的节点内容

时间:2023-03-08 19:25:06
这种形式可以修改任何一个节点:

  XmlDocument doc = new XmlDocument();
  doc.Load("Event.xml");
  XmlElement events = doc.DocumentElement;    //跟节点
  XmlNode xn = events;
  foreach (XmlNode node in xn.ChildNodes)    //遍历跟节点的子节点
  {
    if (node["事件名"].InnerText == textBox1.Text)    //对具有特定内容的节点进行修改
    {
      XmlNode xnStartTime = node["开始时间"];      //node为跟节点的子节点,node["开始时间"]也既是xnStartTime为跟节点的子节点的子节点
      xnStartTime["时"].InnerText = comboBox1.SelectedItem.ToString();
      xnStartTime["分"].InnerText = comboBox2.SelectedItem.ToString();
      XmlNode xnEndTime = node["终止时间"];
      xnEndTime["时"].InnerText = comboBox4.SelectedItem.ToString();
      xnEndTime["分"].InnerText = comboBox3.SelectedItem.ToString();
      int height = ((Convert.ToInt32(comboBox4.Text) - Convert.ToInt32(comboBox1.Text)) * + (Convert.ToInt32(comboBox3.Text) / - Convert.ToInt32(comboBox2.Text) / ))*;
      node["高度"].InnerText = Convert.ToString(height);       if (radioButton1.Checked == true)
      {
        node["重要"].InnerText = "是";
      }
      else
      {
        node["重要"].InnerText = "否";
      }       if (radioButton4.Checked == true)
      {
        node["紧迫"].InnerText = "是";
      }
      else
      {
        node["紧迫"].InnerText = "否";
      }
    }
  }
  doc.Save("Event.xml");

思想:

  声明一个节点对象,让它等于跟节点的子节点,这时候可以对跟节点的子节点(称为二级节点)的内容进行修改。

  此时还可以继续声明一个节点给它赋值二级节点的子节点,于是就可以修改三级节点的内容,以此类推……