<?xml version="1.0" encoding="utf-8"?> <birthday> <NO1 id="1"> <date type="a">1</date> <name>2</name> </NO1> <NO2 id="2"> <date type="b">3</date> <name>4</name> </NO2> </birthday>
( 增)添加一个N03节点,节点有type属性,N03节点里面还包衣个子节点name
protected void Page_Load(object sender,EventArgs e) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"F:\XMLFile1.xml"); XmlNode root = xmlDoc.SelectSingleNode("birthday");//查找<birthday> XmlElement xe1 = xmlDoc.CreateElement("NO3");//创建一个<NO3>节点 xe1.SetAttribute("type","a");//设置该节点type属性 XmlElement xesub1 = xmlDoc.CreateElement("name"); xesub1.InnerText = "C#从入门到精通";//设置文本节点 xe1.AppendChild(xesub1);//添加到<NO3>节点中 root.AppendChild(xe1);//添加到<birthday>节点中 xmlDoc.Save(@"F:\XMLFile1.xml"); }
( 删)删除NO3里面的属性和子级
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"F:\XMLFile1.xml"); XmlNodeList xnl = xmlDoc.SelectSingleNode("birthday").ChildNodes; foreach (XmlNode xn in xnl) { XmlElement xe = (XmlElement)xn; if (xe.GetAttribute("type") == "a") { xe.RemoveAll();//删除该节点的全部内容 //xe.RemoveAttribute("type");//删除type属性 } } xmlDoc.Save(@"F:\XMLFile1.xml");//保存。
( 改)把brithday的子节点属性ID=1,改成ID=4
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"F:\XMLFile1.xml"); XmlNodeList nodeList = xmlDoc.SelectSingleNode("birthday").ChildNodes;//获取birthday节点的所有子节点 foreach (XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型 if (xe.GetAttribute("id") == "1")//如果type属性值为“1” { xe.SetAttribute("id","4");//则修改该属性为“4” } } xmlDoc.Save(@"F:\XMLFile1.xml");//保存。
( 查)查询节点最外层,含有Id属性的值,和显示子节点的文本
protected void Page_Load(object sender,EventArgs e) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"F:\XMLFile1.xml"); XmlNode xn = xmlDoc.SelectSingleNode("birthday"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xnf in xnl) { XmlElement xe = (XmlElement)xnf; TextBox1.Text = TextBox1.Text+xe.GetAttribute("id");//显示属性值 XmlNodeList xnf1 = xe.ChildNodes; foreach (XmlNode xn2 in xnf1) { TextBox2.Text= TextBox2.Text+xn2.InnerText;//显示子节点的文本 } }