目录:
作为一个小型的数据存储传递的工具——
这些都是在控制台进行操作的·····
1.创建
1)创建普通
static void Main(string[] args) { //通过代码来创建//1、引用命名空间 //2、创建 new //3、创建第一个行描述信息,并且添加到doc文档中 "1.0", "utf-8", null); doc.AppendChild(dec); //4、创建根节点 "Books"); //将根节点添加到文档中 doc.AppendChild(books); //5、给根节点Books创建子节点 "Book"); //将book添加到根节点 books.AppendChild(book1); //6、给Book1添加子节点 "Name"); name1.InnerText = "三国演义"; book1.AppendChild(name1); = doc.CreateElement("Price"); price1.InnerText = "70"; book1.AppendChild(price1); = doc.CreateElement("Des"); des1.InnerText = "好看"; book1.AppendChild(des1); = doc.CreateElement("Book"); books.AppendChild(book2); = doc.CreateElement("Name"); name2.InnerText = "西游记"; book2.AppendChild(name2); = doc.CreateElement("Price"); price2.InnerText = "80"; book2.AppendChild(price2); = doc.CreateElement("Des"); des2.InnerText = "还不错"; book2.AppendChild(des2); doc.Save("Books."); Console.WriteLine("保存成功"); Console.ReadKey(); }
View Code
根据代码写的,然后运行,就会得到我们想要的
2)创建带属性的
static void Main(string[] args) { = new = doc.Create"1.0", "utf-8","yes"); doc.AppendChild(dec); = doc.CreateElement("Order"); doc.AppendChild(order); = doc.CreateElement("CustomerName"); customerName.InnerText = "张三"; order.AppendChild(customerName); = doc.CreateElement("CustomerNumber"); customerNumber.InnerText = "1010101"; order.AppendChild(customerNumber); = doc.CreateElement("Items"); order.AppendChild(items); = doc.CreateElement("OrderItem"); //给节点添加属性 orderItem1.SetAttribute("Name", "单反"); orderItem1.SetAttribute("Count", "1120"); items.AppendChild(orderItem1); = doc.CreateElement("OrderItem"); //给节点添加属性 orderItem2.SetAttribute("Name", "书"); orderItem2.SetAttribute("Count", "30"); items.AppendChild(orderItem2); = doc.CreateElement("OrderItem"); //给节点添加属性 orderItem3.SetAttribute("Name", "手机"); orderItem3.SetAttribute("Count", "2000"); items.AppendChild(orderItem3); doc.Save("Order."); Console.WriteLine("保存成功"); Console.ReadKey(); }
View Code
根据代码写的,然后运行,就会得到我们想要的
2.追加
static void Main(string[] args) { //追加 new if (File.Exists("Books.")) { //如果文件存在 加载 doc.Load("Books."); //获得文件的根节点 books = doc.DocumentElement; } else { //如果文件不存在 //创建第一行 "1.0", "utf-8", null); doc.AppendChild(dec); //创建跟节点 books = doc.CreateElement("Books"); doc.AppendChild(books); } //5、给根节点Books创建子节点 "Book"); //将book添加到根节点 books.AppendChild(book1); //6、给Book1添加子节点 "Name"); name1.InnerText = "c#开发大全"; book1.AppendChild(name1); = doc.CreateElement("Price"); price1.InnerText = "110"; book1.AppendChild(price1); = doc.CreateElement("Des"); des1.InnerText = "看不懂"; book1.AppendChild(des1); doc.Save("Books."); Console.WriteLine("保存成功"); Console.ReadKey(); }
View Code
根据代码写的,然后运行,就会得到我们想要的
3.读取
1)读取普通
static void Main(string[] args) { = new //加载要读取的 doc.Load("Books."); //获得根节点 doc.DocumentElement; //获得子节点 返回节点的集合 books.ChildNodes; foreach (in xnl) { Console.WriteLine(item.InnerText); } Console.ReadKey();}
View Code
根据代码写的,然后运行,就会得到读取的
2)读取带属性的
static void Main(string[] args) { //读取带属性的 = new "Order."); = doc.SelectNodes("/Order/Items/OrderItem"); foreach (in xnl) { Console.WriteLine(node.Attributes["Name"].Value); Console.WriteLine(node.Attributes["Count"].Value); } Console.ReadKey();}
View Code
根据代码写的,然后运行,就会得到读取的
4.修改属性的值
static void Main(string[] args) { //改变属性的值 new "Order."); = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='单反']"); xn.Attributes["Count"].Value = "2000"; xn.Attributes["Name"].Value = "电脑"; doc.Save("Order."); Console.WriteLine("保存成功"); Console.ReadKey(); }
View Code
根据代码写的,然后运行,就会得到修改后的
5.删除
static void Main(string[] args) { = new "Order."); = doc.SelectSingleNode("/Order/Items"); xn.RemoveAll(); doc.Save("Order."); Console.WriteLine("删除成功"); Console.ReadKey(); }
View Code
根据代码写的,然后运行,就会得到修删除后的
至此:
原标题:C# 代码操作XML(增、删、改)
关键词:C#