操作XML

bookstore.xml文档内容

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
</bookstore>

 

后台代码

/// <summary>
/// 添加记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNode root = xmlDoc.SelectSingleNode("bookstore");// 查找<bookstore>
XmlElement xe1 = xmlDoc.CreateElement("book"); // 创建一个<book>节点

xe1.SetAttribute("genre", genre.Text); // 设置该节点genre属性
xe1.SetAttribute("ISBN", ISBN.Text); // 设置该节点ISBN属性

XmlElement xesub1 = xmlDoc.CreateElement("title"); // 创建一个<title>节点
xesub1.InnerText = title.Text; // 设置文本节点
xe1.AppendChild(xesub1); // 添加到<book>节点中

XmlElement xesub2 = xmlDoc.CreateElement("author"); // 创建一个<author>节点
xesub2.InnerText = author.Text; // 设置文本节点
xe1.AppendChild(xesub2); // 添加到<author>节点中

XmlElement xesub3 = xmlDoc.CreateElement("price"); // 创建一个<price>节点
xesub3.InnerText = price.Text; // 设置文本节点
xe1.AppendChild(xesub3); // 添加到<price>节点中

root.AppendChild(xe1); // 添加到<bookstore>节点中
xmlDoc.Save("bookstore.xml"); // 保存
}
catch (XmlException Xe)
{
MessageBox.Show(Xe.Message);
}
}

/// <summary>
/// 修改记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes; //获取bookstore节点的所有子节点
foreach (XmlNode xn in nodeList) //遍历所有子节点
{
XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型
if (xe.GetAttribute("genre") == "tajear") //如果genre属性值为“李赞红”
{
xe.SetAttribute("genre", "update李赞红"); //则修改该属性为“update李赞红”

XmlNodeList nls = xe.ChildNodes; //继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls) //遍历
{
XmlElement xe2 = (XmlElement)xn1; //转换类型
if (xe2.Name == "author") //如果找到
{
xe2.InnerText = "亚胜"; //则修改
break; //找到退出来就可以了
}
}
break;
}
}

xmlDoc.Save("bookstore.xml");//保存。

}

/// <summary>
/// 删除记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;

foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;

if (xe.GetAttribute("genre") == "jujear")
{
xe.RemoveAttribute("genre");//删除genre属性
}
else if (xe.GetAttribute("genre") == "update李赞红")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml");

}

private void button4_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件

XmlNode xn = xmlDoc.SelectSingleNode("bookstore");

XmlNodeList xnl = xn.ChildNodes;

foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));// 显示属性值
Console.WriteLine(xe.GetAttribute("ISBN"));

XmlNodeList xnf1 = xe.ChildNodes;
foreach (XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);// 显示子节点点文本
}
}
}

 

转载:http://zhidao.baidu.com/question/55718186.html?si=10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值