C#代码操作XML进行增、删、改操作
程序员文章站
2022-04-15 10:13:31
作为一个小型的数据存储传递的工具——xml,大家肯定也不陌生,今天就关于xml的一些简单操作做些总结。
这些都是在控制台进行操作的·····
1.创建xml
1)...
作为一个小型的数据存储传递的工具——xml,大家肯定也不陌生,今天就关于xml的一些简单操作做些总结。
这些都是在控制台进行操作的·····
1.创建xml
1)创建普通xml
static void main(string[] args) { //通过代码来创建xml文档 //1、引用命名空间 //2、创建xml文档对象 xmldocument doc = new xmldocument(); //3、创建第一个行描述信息,并且添加到doc文档中 xmldeclaration dec = doc.createxmldeclaration("1.0", "utf-8", null); doc.appendchild(dec); //4、创建根节点 xmlelement books = doc.createelement("books"); //将根节点添加到文档中 doc.appendchild(books); //5、给根节点books创建子节点 xmlelement book1 = doc.createelement("book"); //将book添加到根节点 books.appendchild(book1); //6、给book1添加子节点 xmlelement name1 = doc.createelement("name"); name1.innertext = "三国演义"; book1.appendchild(name1); xmlelement price1 = doc.createelement("price"); price1.innertext = "70"; book1.appendchild(price1); xmlelement des1 = doc.createelement("des"); des1.innertext = "好看"; book1.appendchild(des1); xmlelement book2 = doc.createelement("book"); books.appendchild(book2); xmlelement name2 = doc.createelement("name"); name2.innertext = "西游记"; book2.appendchild(name2); xmlelement price2= doc.createelement("price"); price2.innertext = "80"; book2.appendchild(price2); xmlelement des2 = doc.createelement("des"); des2.innertext = "还不错"; book2.appendchild(des2); doc.save("books.xml"); console.writeline("保存成功"); console.readkey(); }
根据代码写的,然后运行,就会得到我们想要的xml文档:
2)创建带属性的xml
static void main(string[] args) { xmldocument doc = new xmldocument(); xmldeclaration dec = doc.createxmldeclaration("1.0", "utf-8","yes"); doc.appendchild(dec); xmlelement order = doc.createelement("order"); doc.appendchild(order); xmlelement customername = doc.createelement("customername"); customername.innertext = "张三"; order.appendchild(customername); xmlelement customernumber = doc.createelement("customernumber"); customernumber.innertext = "1010101"; order.appendchild(customernumber); xmlelement items = doc.createelement("items"); order.appendchild(items); xmlelement orderitem1 = doc.createelement("orderitem"); //给节点添加属性 orderitem1.setattribute("name", "单反"); orderitem1.setattribute("count", "1120"); items.appendchild(orderitem1); xmlelement orderitem2 = doc.createelement("orderitem"); //给节点添加属性 orderitem2.setattribute("name", "书"); orderitem2.setattribute("count", "30"); items.appendchild(orderitem2); xmlelement orderitem3 = doc.createelement("orderitem"); //给节点添加属性 orderitem3.setattribute("name", "手机"); orderitem3.setattribute("count", "2000"); items.appendchild(orderitem3); doc.save("order.xml"); console.writeline("保存成功"); console.readkey(); }
根据代码写的,然后运行,就会得到我们想要的xml文档:
2.追加xml
static void main(string[] args) { //追加xml文档 xmldocument doc = new xmldocument(); xmlelement books; if (file.exists("books.xml")) { //如果文件存在 加载xml doc.load("books.xml"); //获得文件的根节点 books = doc.documentelement; } else { //如果文件不存在 //创建第一行 xmldeclaration dec = doc.createxmldeclaration("1.0", "utf-8", null); doc.appendchild(dec); //创建跟节点 books = doc.createelement("books"); doc.appendchild(books); } //5、给根节点books创建子节点 xmlelement book1 = doc.createelement("book"); //将book添加到根节点 books.appendchild(book1); //6、给book1添加子节点 xmlelement name1 = doc.createelement("name"); name1.innertext = "c#开发大全"; book1.appendchild(name1); xmlelement price1 = doc.createelement("price"); price1.innertext = "110"; book1.appendchild(price1); xmlelement des1 = doc.createelement("des"); des1.innertext = "看不懂"; book1.appendchild(des1); doc.save("books.xml"); console.writeline("保存成功"); console.readkey(); }
根据代码写的,然后运行,就会得到我们想要的xml文档:
3.读取xml
1)读取普通xml
static void main(string[] args) { xmldocument doc = new xmldocument(); //加载要读取的xml doc.load("books.xml"); //获得根节点 xmlelement books = doc.documentelement; //获得子节点 返回节点的集合 xmlnodelist xnl = books.childnodes; foreach (xmlnode item in xnl) { console.writeline(item.innertext); } console.readkey(); }
根据代码写的,然后运行,就会得到读取的xml结果:
2)读取带属性的xml
static void main(string[] args) { //读取带属性的xml文档 xmldocument doc = new xmldocument(); doc.load("order.xml"); xmlnodelist xnl = doc.selectnodes("/order/items/orderitem"); foreach (xmlnode node in xnl) { console.writeline(node.attributes["name"].value); console.writeline(node.attributes["count"].value); } console.readkey(); }
根据代码写的,然后运行,就会得到读取的xml结果:
4.修改属性的值
static void main(string[] args) { //改变属性的值 xmldocument doc = new xmldocument(); doc.load("order.xml"); xmlnode xn = doc.selectsinglenode("/order/items/orderitem[@name='单反']"); xn.attributes["count"].value = "2000"; xn.attributes["name"].value = "电脑"; doc.save("order.xml"); console.writeline("保存成功"); console.readkey(); }
根据代码写的,然后运行,就会得到修改后的xml结果:
5.删除xml节点
static void main(string[] args) { xmldocument doc = new xmldocument(); doc.load("order.xml"); xmlnode xn = doc.selectsinglenode("/order/items"); xn.removeall(); doc.save("order.xml"); console.writeline("删除成功"); console.readkey(); }
根据代码写的,然后运行,就会得到修删除后的xml结果:
至此:xml简单的增删改操作就结束了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 基于C#技术实现身份证识别功能
下一篇: c#判断email地址是否为合法