c#对XML文档的创建与增删改查的示例代码
程序员文章站
2022-04-11 09:55:56
一、创建的第一种方式 //1、创建一个xml文档 xmldocument doc = new xmldocument(); //2、创建第一行描述信息 xmldeclaration dec...
一、创建的第一种方式
//1、创建一个xml文档 xmldocument doc = new xmldocument(); //2、创建第一行描述信息 xmldeclaration dec = doc.createxmldeclaration("1.0", "utf-8", null); //3、将创建的第一行描述信息添加到文档中 doc.appendchild(dec); //4、给文档添加根节点 xmlelement books = doc.createelement("books"); doc.appendchild(books); xmlelement book = doc.createelement("book"); books.appendchild(book); xmlelement name = doc.createelement("name"); name.innertext = "水浒传"; book.appendchild(name); xmlelement author = doc.createelement("author"); author.innertext = "匿名"; author.setattribute("name", "wjl"); author.setattribute("count", "30"); book.appendchild(author); doc.save("book.xml"); console.writeline("保存成功!"); console.readkey();
创建结果如下:
二、创建的第二种方式
class program { static void main(string[] args) { list<student> list = new list<student>(); list.add(new student(1, "wjl1", 22, "男")); list.add(new student(2, "wjl2", 21, "男")); list.add(new student(3, "wjl3", 22, "男")); list.add(new student(4, "wjl4", 24, "男")); xmldocument xmldoc = new xmldocument(); xmldeclaration xmldec = xmldoc.createxmldeclaration("1.0", "utf-8", null); xmldoc.appendchild(xmldec); xmlelement person = xmldoc.createelement("person"); xmldoc.appendchild(person); for (int i = 0; i < list.count; i++) { xmlelement stu = xmldoc.createelement("student"); stu.setattribute("id", list[i].id.tostring()); person.appendchild(stu); xmlelement name = xmldoc.createelement("name"); xmlelement age = xmldoc.createelement("age"); name.innertext = list[i].name; age.innertext = list[i].age.tostring(); stu.appendchild(name); stu.appendchild(age); } xmldoc.save("student.xml"); console.writeline("student.xml"); console.readkey(); } } class student { int id; string name; int age; string sex; public student(int id, string name, int age, string sex) { this.id = id; this.name = name; this.age = age; this.sex = sex; } public student() { } }
创建结果如下:
三、对xml文件的添加
xmldocument doc = new xmldocument(); //首先判断文件是否存在,如果存在则追加否则在创建一个 if (file.exists("student.xml")) { //加载 doc.load("student.xml"); //获取根节点,给根节点添加子节点 xmlelement person = doc.documentelement; xmlelement student = doc.createelement("student"); student.setattribute("id", "1"); person.appendchild(student); xmlelement name = doc.createelement("name"); xmlelement age = doc.createelement("age"); name.innertext = "zjs"; age.innertext = "41"; student.appendchild(name); student.appendchild(age); } else { } doc.save("student.xml"); console.writeline("student.xml 保存成功");
四、对xml文档的查询、修改、删除
方法1:
文档结构为:
if (file.exists("order.xml")) { doc.load("order.xml"); // 获取根节点 xmlelement orderelement = doc.documentelement; xmlnodelist orderchildr = orderelement.childnodes; foreach (xmlnode item in orderchildr) { console.writeline("节点名称:"+ item.name + "节点的 innertext :" + item.innertext); } xmlelement orderitem = orderelement["items"]; xmlnodelist itemlist = orderitem.childnodes; foreach (xmlnode item in itemlist) { console.writeline(item.attributes["name"].value + " " + item.attributes["count"].value); } } else { console.writeline("文件不存在!"); } console.readkey(); // doc.save("student.xml"); console.writeline("student.xml 保存成功");
方法2:
#region 使用xpath的方式来读取xml文件 // 获取文档对象 xmldocument doc = new xmldocument(); doc.load("order.xml"); //获取根节点 xmlelement order = doc.documentelement; // 获取单个节点 //xmlnode xn = order.selectsinglenode(@"/order/customername"); xmlnode xn = order.selectsinglenode(@"/order/items/orderitem[@name='码表']"); xn.attributes["count"].value = "20"; // 修改 doc.save("order.xml"); console.writeline(xn.attributes["count"].value); console.readkey(); #endregion
删除元素指定的特性:
xn.attributes.removenameditem("count"); //删除元素指定的特性
删除子节点:
xmlnode xn = order.selectsinglenode(@"/order/items"); xmlnode xnchild = order.selectsinglenode(@"/order/items/orderitem[@name = '雨衣']"); xn.removechild(xnchild); //删除指定的子节点
删除当前所有子节点:
xn.removeall(); //删除当前节点的所有子节点
删除当前节点的所有特性:
xnchild.attributes.removeall();
以上就是c#对xml文档的创建与增删改查的示例代码的详细内容,更多关于c#对xml文档的创建与增删改查的资料请关注其它相关文章!