using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace Xml
{
public class XmlOperate
{
#region 创建XML文件
/// <summary>
/// 创建XML文件
/// </summary>
public static void CreateXml()
{
//创建一个XML文档
XmlDocument doc = new XmlDocument();
//创建一个文件信息
doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));
//创建一个节点
XmlElement root = doc.CreateElement("Books");
//创建当前节点属性
root.SetAttribute("Desc", "根节点描述");
doc.AppendChild(root);
//保存到文件中
doc.Save(@"E:\代码研究\XmlOperate\Xml\Books.xml");
}
#endregion
#region 选择XML节点并添加一个新的节点
/// <summary>
/// 选择XML节点
/// </summary>
public static void SelectNodeAndNewElement()
{
//创建一个XML文档
XmlDocument doc = new XmlDocument();
//加载文档
doc.Load(@"E:\代码研究\XmlOperate\Xml\Books.xml");
//选择根节点
XmlNode selectNode = doc.SelectSingleNode("Books");
//创建一个新的节点
XmlElement bookNode = doc.CreateElement("Book");
//添加属性
bookNode.SetAttribute("Desciption", "添加的节点");
//添加节点内容
bookNode.InnerXml = "CSS高级查询";
//将新增加的节点添加到根节点中
selectNode.AppendChild(bookNode);
//保存到文件中
doc.Save(@"E:\代码研究\XmlOperate\Xml\Books.xml");
}
#endregion
#region 更新选择的节点
/// <summary>
/// 更新选择的节点内容
/// </summary>
public static void UpdateSelectNode()
{
//创建一个文件
XmlDocument doc = new XmlDocument();
//加载文件
doc.Load(@"E:\代码研究\XmlOperate\Xml\Books.xml");
//获取根节点下得所有节点
XmlNodeList nodeList = doc.SelectSingleNode("Books").ChildNodes;
//遍历子节点
foreach (XmlNode item in nodeList)
{
//将子节点类型转换为XmlElement
XmlElement xe = (XmlElement)item;
//修改Desciption的值为添加的节点
if (xe.GetAttribute("Desciption").Equals("添加的节点"))
{
//修改属性的值
xe.SetAttribute("Desciption","更新后的值");
}
}
//保存修改
doc.Save(@"E:\代码研究\XmlOperate\Xml\Books.xml");
}
#endregion
#region 删除选中属性的值
/// <summary>
/// 删除选中属性的值
/// </summary>
public static void DeleteSelectNodeAttribute()
{
//创建一个XML文档
XmlDocument doc = new XmlDocument();
//在家XML文档
doc.Load(@"E:\代码研究\XmlOperate\Xml\Books.xml");
//选择根节点集合
XmlNodeList list = doc.SelectSingleNode("Books").ChildNodes;
//选择节点
foreach (XmlNode item in list)
{
//将子节点类型转换为XmlElement
XmlElement xe = (XmlElement)item;
if (xe.GetAttribute("Desciption").Equals("更新后的值"))
{
//移除选中属性的值
xe.RemoveAttribute("Desciption");
}
}
//保存修改
doc.Save(@"E:\代码研究\XmlOperate\Xml\Books.xml");
}
#endregion
#region 删除选中的节点
public static void DeleteSelectNode()
{
XmlDocument doc = new XmlDocument();
//在家XML文档
doc.Load(@"E:\代码研究\XmlOperate\Xml\Books.xml");
//选择根节点集合
XmlNodeList list = doc.SelectSingleNode("Books").ChildNodes;
foreach (XmlNode item in list)
{
XmlElement xe = (XmlElement)item;
if (xe.GetAttribute("Desc").Equals("xx"))
{
xe.RemoveAll();
}
}
doc.Save(@"E:\代码研究\XmlOperate\Xml\Books.xml");
}
#endregion
}
}