您的位置:首页 > 其它

使用XmlDocument创建XML文档及增加删除更新节点

2011-05-25 14:46 751 查看
using System;

using System.Windows.Forms;

using System.Xml;

namespace XMLDemo

{

public partial class FrmXMLDOMDemo : Form

{

public FrmXMLDOMDemo()

{

InitializeComponent();

}

private void btnLoad_Click(object sender, EventArgs e)

{

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("Books.xml");

MessageBox.Show(xmlDoc.InnerXml);

}

private void btnCreate_Click(object sender, EventArgs e)

{

XmlDocument xmlDoc = new XmlDocument();

//建立Xml的定义声明

XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "GB2312", null);

xmlDoc.AppendChild(dec);

//创建根节点

XmlElement root = xmlDoc.CreateElement("Books");

xmlDoc.AppendChild(root);

XmlNode book = xmlDoc.CreateElement("Book");

XmlElement title = xmlDoc.CreateElement("Title");

title.InnerText = "SQL Server";

book.AppendChild(title);

XmlElement isbn = xmlDoc.CreateElement("ISBN");

isbn.InnerText = "444444";

book.AppendChild(isbn);

XmlElement author = xmlDoc.CreateElement("Author");

author.InnerText = "jia";

book.AppendChild(author);

XmlElement price = xmlDoc.CreateElement("Price");

price.InnerText = "120";

price.SetAttribute("Unit", "$");

book.AppendChild(price);

root.AppendChild(book);

xmlDoc.Save("Books.xml");

}

private void btnInsert_Click(object sender, EventArgs e)

{

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("Books.xml");

XmlNode root = xmlDoc.SelectSingleNode("Books");

XmlElement book = xmlDoc.CreateElement("Book");

XmlElement title = xmlDoc.CreateElement("Title");

title.InnerText = "XML";

book.AppendChild(title);

XmlElement isbn = xmlDoc.CreateElement("ISBN");

isbn.InnerText = "333333";

book.AppendChild(isbn);

XmlElement author = xmlDoc.CreateElement("Author");

author.InnerText = "moon";

book.AppendChild(author);

XmlElement price = xmlDoc.CreateElement("Price");

price.InnerText = "120";

price.SetAttribute("Unit", "¥");

book.AppendChild(price);

root.AppendChild(book);

xmlDoc.Save("Books.xml");

MessageBox.Show("数据已写入!");

}

private void btnUpdate_Click(object sender, EventArgs e)

{

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("Books.xml");

//"//Book[@Unit=/"$/"]"

//获取Books//Book节点的第一个子节点

XmlNodeList nodeList = xmlDoc.SelectSingleNode("Books//Book").ChildNodes;

//遍历所有子节点

foreach (XmlNode xn in nodeList)

{

//将子节点类型转换为XmlElement类型

XmlElement xe = (XmlElement)xn;

if (xe.Name == "Author")

{

xe.InnerText = "amandag";

}

if (xe.GetAttribute("Unit") == "$")

{

xe.SetAttribute("Unit", "¥");

}

}

//获取Books//Book节点的所有子节点

//XmlNodeList nodeList = xmlDoc.SelectNodes("Books//Book");

//foreach (XmlNode xn in nodeList)

//{

// foreach (XmlNode x in xn.ChildNodes)

// {

// XmlElement xe = (XmlElement)x;

// if (xe.Name == "Author")

// {

// xe.InnerText = "amandag";

// }

// if (xe.GetAttribute("Unit") == "$")

// {

// xe.SetAttribute("Unit", "¥");

// }

// break;

// }

//}

xmlDoc.Save("Books.xml");

}

private void btnDelete_Click(object sender, EventArgs e)

{

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load("Books.xml");

XmlNodeList nodeList = xmlDoc.SelectSingleNode("Books//Book").ChildNodes;

//遍历所有子节点

foreach (XmlNode xn in nodeList)

{

//将子节点类型转换为XmlElement类型

XmlElement xe = (XmlElement)xn;

if (xe.Name == "Author")

{

xe.RemoveAll();

}

if (xe.GetAttribute("Unit") == "¥")

{

xe.RemoveAttribute("Unit");

}

}

xmlDoc.Save("Books.xml");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐