XML文件内容如下: <? xml version = " 1.0 " encoding = " utf-8 " ?> < keys > < key > < keyname > 2 </ keyname > < musicsource > CD </ musicsource > < musicaddr > 2 </ musicaddr > < playway > 播放 </ playway > </ key > < key > < keyname > 5 </ keyname > < musicsource > MP3 </ musicsource > < musicaddr > 7 </ musicaddr > < playway > 停止 </ playway > </ key > < key > < keyname > 3 </ keyname > < musicsource > MP3 </ musicsource > < musicaddr > 8 </ musicaddr > < playway > 播放 </ playway > </ key > < key > < keyname > 1 </ keyname > < musicsource > MP3 </ musicsource > < musicaddr > 1 </ musicaddr > < playway > 连续播放 </ playway > </ key > < key > < keyname > 4 </ keyname > < musicsource > 调谐器 </ musicsource > < musicaddr > 1 </ musicaddr > < playway > 循环单曲 </ playway > </ key > </ keys > 将XML节点读到LISTVIE上: private void int_6243() ... { this.list_6243.Items.Clear(); try ...{ XmlDocument MyXMLDoc = new XmlDocument(); MyXMLDoc.Load(Application .StartupPath + "/XML_6243.xml"); XmlNodeList MyNodes = MyXMLDoc.GetElementsByTagName("keyname"); foreach (XmlNode MyNode in MyNodes) ...{ string[] subItem =...{ MyNode.InnerText, "", "", "" }; this.list_6243.Items.Add(new ListViewItem(subItem)); } // this.list_6243.Sorting = SortOrder.Ascending; MyNodes = MyXMLDoc.GetElementsByTagName("musicsource"); int i = 0; foreach (XmlNode MyNode in MyNodes) ...{ this.list_6243.Items[i++].SubItems[1].Text = MyNode.InnerText; } MyNodes = MyXMLDoc.GetElementsByTagName("musicaddr"); i = 0; foreach (XmlNode MyNode in MyNodes) ...{ this.list_6243.Items[i++].SubItems[3].Text = MyNode.InnerText; } MyNodes = MyXMLDoc.GetElementsByTagName("playway"); i = 0; foreach (XmlNode MyNode in MyNodes) ...{ this.list_6243.Items[i++].SubItems[2].Text = MyNode.InnerText; } } catch (Exception ex) ...{ MessageBox.Show(ex.Message); } } 添加新节点到XML: private void btn6243_Click( object sender, EventArgs e) ... { if (this.numAddr.Value != 0 && this.comMusic.Text != "" && this.numKey.Value != 0 && this.comPlayWay.Text != "") ...{ XmlDocument MyXMLDoc = new XmlDocument(); MyXMLDoc.Load(Application .StartupPath + "/XML_6243.xml"); try ...{ string myfind = this.numKey.Value.ToString(); string myfindstring = "keys/key [keyname=" + '"' + myfind + '"' + "]"; XmlNode MyNode = MyXMLDoc.SelectSingleNode(myfindstring); if (MyNode != null) ...{ MyXMLDoc.DocumentElement.RemoveChild(MyNode);//检查节点是否已经存在,存在的话则删除 } XmlElement MyNewKey = MyXMLDoc.CreateElement("key");//新建节点 XmlElement MyKeyName = MyXMLDoc.CreateElement("keyname");//键码 MyKeyName.InnerText = this.numKey.Value.ToString(); MyNewKey.AppendChild(MyKeyName); XmlElement MyMusicSource = MyXMLDoc.CreateElement("musicsource");//音源 MyMusicSource.InnerText = this.comMusic.Text; MyNewKey.AppendChild(MyMusicSource); XmlElement MyPlayWay = MyXMLDoc.CreateElement("musicaddr");//音源地址 MyPlayWay.InnerText = this.numAddr.Value.ToString(); MyNewKey.AppendChild(MyPlayWay); XmlElement MyMusicAddr = MyXMLDoc.CreateElement("playway");//播放方式 MyMusicAddr.InnerText = this.comPlayWay.Text; MyNewKey.AppendChild(MyMusicAddr); MyXMLDoc.DocumentElement.AppendChild(MyNewKey); //插入节点 XmlTextWriter MyWriter = new XmlTextWriter(Application .StartupPath + "/XML_6243.xml", null); MyWriter.Formatting = Formatting.Indented; MyXMLDoc.WriteContentTo(MyWriter); MyWriter.Close(); } catch (Exception ex) ...{ MessageBox.Show(ex.Message); } this.int_6243(); } else MessageBox.Show("信息没有填写完整,请检查!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } 删除XML节点: void menu_Click( object sender, EventArgs e) ... { //throw new Exception("The method or operation is not implemented."); try ...{ string strvalue = this.list_6243.SelectedItems[0].SubItems[0].Text; XmlDocument MyXMLDoc = new XmlDocument(); MyXMLDoc.Load(Application .StartupPath + "/XML_6243.xml"); string strPath = "keys/key [keyname=" + '"' + strvalue + '"' + "]"; XmlNode node = MyXMLDoc.SelectSingleNode(strPath); if (node != null) ...{ MyXMLDoc.DocumentElement.RemoveChild(node); /**//* XmlTextWriter MyWriter = new XmlTextWriter(Application .StartupPath + "/XML_6243.xml", null); MyWriter.Formatting = Formatting.Indented; MyXMLDoc.WriteContentTo(MyWriter); MyWriter.Close();*/ MyXMLDoc.Save(Application .StartupPath + "/XML_6243.xml"); } MessageBox.Show("键码"+strvalue +"删除成功!","提示",MessageBoxButtons.OK ,MessageBoxIcon .Information ); int_6243(); } catch (Exception ex) ...{ MessageBox.Show(ex.Message); } }