using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace _04xml文档增删改查
{
class Program
{
static void Main(string[] args)
{
#region 对xml文档实现追加
//XmlDocument doc = new XmlDocument();
首先判断xml文档是否存在 如果存在 则追加 否则创建一个
//if (File.Exists("Student.xml"))
//{
// //加载进来
// doc.Load("Student.xml");
// //追加
// //获得根节点 给根节点添加子节点
// XmlElement person = doc.DocumentElement;
// XmlElement student = doc.CreateElement("Student");
// student.SetAttribute("studentID", "10");
// person.AppendChild(student);
// XmlElement name = doc.CreateElement("Name");
// name.InnerXml = "新宝宝";
// student.AppendChild(name);
// XmlElement age = doc.CreateElement("Age");
// age.InnerXml = "18";
// student.AppendChild(age);
// XmlElement gender = doc.CreateElement("Gender");
// gender.InnerXml = "女";
// student.AppendChild(gender);
//}
//else
//{
// //不存在
// XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
// doc.AppendChild(dec);
// XmlElement person = doc.CreateElement("Person");
// doc.AppendChild(person);
// XmlElement student = doc.CreateElement("Student");
// student.SetAttribute("studentID", "20");
// person.AppendChild(student);
// XmlElement name = doc.CreateElement("Name");
// name.InnerXml = "嫩宝宝";
// student.AppendChild(name);
// XmlElement age = doc.CreateElement("Age");
// age.InnerXml = "28";
// student.AppendChild(age);
// XmlElement gender = doc.CreateElement("Gender");
// gender.InnerXml = "男";
// student.AppendChild(gender);
//}
//doc.Save("Student.xml");
//Console.WriteLine("保存成功");
//Console.ReadKey();
#endregion
#region 对xml文档实现查找读取
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
先获得根节点
//XmlElement order = doc.DocumentElement;
获得根节点下面的所有子节点
//XmlNodeList xnl = order.ChildNodes;
//foreach (XmlNode item in xnl)
//{
// Console.WriteLine(item.InnerText);//打印出的是第一子节点的信息
//}
//XmlElement items = order["Items"];
//XmlNodeList xnl2 = items.ChildNodes;
//foreach (XmlNode item in xnl2)
//{
// Console.WriteLine(item.Attributes["Name"].Value);
// Console.WriteLine(item.Attributes["Count"].Value);
// //修改Name=风衣的Count值
// if (item.Attributes["Name"].Value == "风衣")
// {
// item.Attributes["Count"].Value = "26005";
// }
//}
//doc.Save("OrDER.xml");
//Console.ReadKey();
#endregion
#region 使用xPath的方式读取文件
方法一
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
获得根节点
//XmlElement order = doc.DocumentElement;
获得单条子节点
//XmlNode xn = order.SelectSingleNode("/Order/OrderNumber");
//Console.WriteLine(xn.InnerText);
//Console.ReadKey();
方法二
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
获得根节点
//XmlElement order = doc.DocumentElement;
获得单条子节点
//XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='手链']");
//Console.WriteLine(xn.Attributes["Name"].Value);//Attributes属性
重新赋值
//xn.Attributes["Count"].Value = "666";
//doc.Save("Order.xml");
//Console.ReadKey();
#endregion
#region 删
删除 删除order根节点下的所有子节点
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
获得根节点
//XmlElement order = doc.DocumentElement;
//order.RemoveAll();//删除order根节点下的所有子节点
删除 删除根节点下指定子节点
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
获得根节点
//XmlElement order = doc.DocumentElement;
//XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='手链']");
获得Items节点
//XmlNode items = order["Items"];//order.SelectSingleNode("/Order/Items");
//items.RemoveChild(xn);// 移除当前节点
//移除节点下的属性
//删除 删除根节点下指定子节点
XmlDocument doc = new XmlDocument();
doc.Load("Order.xml");
//获得根节点
XmlElement order = doc.DocumentElement;
XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='风衣']");
//获得Items节点
//让orderItem去删除Count属性
XmlNode orderItem = order.SelectSingleNode("/Order/Items/OrderItem");
xn.Attributes.RemoveNamedItem("Count");
doc.Save("order.xml");
Console.WriteLine("删除成功");
Console.ReadKey();
#endregion
}
}
}
.XML之四 增删改查
最新推荐文章于 2022-10-06 21:40:36 发布