xml节点 增删改
2011-12-01 20:44
155 查看
首先写个类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
/// <summary>
///Class1 的摘要说明
/// </summary>
public class Class1
{
private XmlDocument xmlDoc;
private string author;
private string publisher;
private string date;
private string name;
private string isbn;
private string price;
public Class1(string au, string pu, string date, string na, string isbn, string price)
{
this.author = au;
this.publisher = pu;
this.date = date;
this.name = na;
this.isbn = isbn;
this.price = price;
}
/// <summary>
/// 加载XML文件的方法
/// </summary>
/// <param name="xmlfile">XML文件路径</param>
private void LoadXml()
{
xmlDoc = new XmlDocument();
xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("books.xml"));
}
public void AddNode()
{
//加载文档
LoadXml();
//选择根节点
XmlNode xmldocboot = xmlDoc.SelectSingleNode("books");
//开始添加节点及节点的属性
XmlElement ele = xmlDoc.CreateElement("book");
XmlElement ele1 = xmlDoc.CreateElement("author");
ele1.InnerText = author;
XmlElement ele2 = xmlDoc.CreateElement("publisher");
ele2.InnerText = publisher;
XmlElement ele3 = xmlDoc.CreateElement("date");
ele3.InnerText = date;
XmlElement ele4 = xmlDoc.CreateElement("name");
ele4.InnerText = name;
XmlElement ele5 = xmlDoc.CreateElement("isbn");
ele5.InnerText = isbn;
XmlElement ele6 = xmlDoc.CreateElement("price");
ele6.InnerText = price;
ele.AppendChild(ele1);
ele.AppendChild(ele2);
ele.AppendChild(ele3);
ele.AppendChild(ele4);
ele.AppendChild(ele5);
ele.AppendChild(ele6);
//将节点保存到根节点下
xmldocboot.AppendChild(ele);
//保存XML文件的修改-此处要注意
xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("books.xml"));
}
}
添加节点:
Class1 myxml = new Class1(this.TextBox1.Text, this.TextBox4.Text, this.TextBox5.Text, this.TextBox6.Text, this.TextBox2.Text, this.TextBox3.Text);
//执行添加命令
myxml.AddNode();
更改节点:
XmlNode node = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']");
XmlElement elem = (XmlElement)node.SelectSingleNode("author");
elem.InnerText = this.TextBox1.Text;
elem = (XmlElement)node.SelectSingleNode("publisher");
elem.InnerText = this.TextBox4.Text;
elem = (XmlElement)node.SelectSingleNode("date");
elem.InnerText = this.TextBox5.Text;
elem = (XmlElement)node.SelectSingleNode("price");
elem.InnerText = this.TextBox3.Text;
elem = (XmlElement)node.SelectSingleNode("isbn");
elem.InnerText = this.TextBox2.Text;
xdoc.Save(Server.MapPath("books.xml"));
this.Response.Write("修改成功!");
删除节点:
XmlNode node = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']");
if (node != null)
{
xdoc.DocumentElement.RemoveChild(node);
this.DropDownList1.Items.RemoveAt(this.DropDownList1.SelectedIndex);
xdoc.Save(Server.MapPath("books_new.xml"));
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
/// <summary>
///Class1 的摘要说明
/// </summary>
public class Class1
{
private XmlDocument xmlDoc;
private string author;
private string publisher;
private string date;
private string name;
private string isbn;
private string price;
public Class1(string au, string pu, string date, string na, string isbn, string price)
{
this.author = au;
this.publisher = pu;
this.date = date;
this.name = na;
this.isbn = isbn;
this.price = price;
}
/// <summary>
/// 加载XML文件的方法
/// </summary>
/// <param name="xmlfile">XML文件路径</param>
private void LoadXml()
{
xmlDoc = new XmlDocument();
xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath("books.xml"));
}
public void AddNode()
{
//加载文档
LoadXml();
//选择根节点
XmlNode xmldocboot = xmlDoc.SelectSingleNode("books");
//开始添加节点及节点的属性
XmlElement ele = xmlDoc.CreateElement("book");
XmlElement ele1 = xmlDoc.CreateElement("author");
ele1.InnerText = author;
XmlElement ele2 = xmlDoc.CreateElement("publisher");
ele2.InnerText = publisher;
XmlElement ele3 = xmlDoc.CreateElement("date");
ele3.InnerText = date;
XmlElement ele4 = xmlDoc.CreateElement("name");
ele4.InnerText = name;
XmlElement ele5 = xmlDoc.CreateElement("isbn");
ele5.InnerText = isbn;
XmlElement ele6 = xmlDoc.CreateElement("price");
ele6.InnerText = price;
ele.AppendChild(ele1);
ele.AppendChild(ele2);
ele.AppendChild(ele3);
ele.AppendChild(ele4);
ele.AppendChild(ele5);
ele.AppendChild(ele6);
//将节点保存到根节点下
xmldocboot.AppendChild(ele);
//保存XML文件的修改-此处要注意
xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath("books.xml"));
}
}
添加节点:
Class1 myxml = new Class1(this.TextBox1.Text, this.TextBox4.Text, this.TextBox5.Text, this.TextBox6.Text, this.TextBox2.Text, this.TextBox3.Text);
//执行添加命令
myxml.AddNode();
更改节点:
XmlNode node = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']");
XmlElement elem = (XmlElement)node.SelectSingleNode("author");
elem.InnerText = this.TextBox1.Text;
elem = (XmlElement)node.SelectSingleNode("publisher");
elem.InnerText = this.TextBox4.Text;
elem = (XmlElement)node.SelectSingleNode("date");
elem.InnerText = this.TextBox5.Text;
elem = (XmlElement)node.SelectSingleNode("price");
elem.InnerText = this.TextBox3.Text;
elem = (XmlElement)node.SelectSingleNode("isbn");
elem.InnerText = this.TextBox2.Text;
xdoc.Save(Server.MapPath("books.xml"));
this.Response.Write("修改成功!");
删除节点:
XmlNode node = xdoc.DocumentElement.SelectSingleNode("book[name='" + this.DropDownList1.Text + "']");
if (node != null)
{
xdoc.DocumentElement.RemoveChild(node);
this.DropDownList1.Items.RemoveAt(this.DropDownList1.SelectedIndex);
xdoc.Save(Server.MapPath("books_new.xml"));
}
相关文章推荐
- 如何才能将修改(对元素节点增删改)后的XML文件parse回去呢(使结果保存下来)?
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- oracle中对于xmlType数据节点的增删改
- xml节点 增删改
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- mfc 增删改 xml 节点
- c#对xml多属性节点的增删改操作
- js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
- C# XML 输出xml根节点下的直接(第一级)子节点指定的属性的名字和值
- xml添加节点的心得
- PHP中利用simpleXML读取XML和追加XML节点
- xml----读取所有的根节点
- xml学习(7) .net 获取xml节点或者属性最大值
- C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页