本文共 4047 字,大约阅读时间需要 13 分钟。
可扩展的标记语言(eXtensible Markup Language)
XmlDocument doc = new XmlDocument();
2.在内存中创建xml声明
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null); doc.AppendChild(dec);//添加到xml文档上
3.添加根节点
//根节点 Order XmlElement order = doc.CreateElement("Order"); doc.AppendChild(order); //创建子节点元素 XmlElement customerName = doc.CreateElement("CustomerName"); customerName.InnerText = "小三"; //追加到父节点order上 order.AppendChild(customerName);
4.添加子节点及属性
1 XmlElement items = doc.CreateElement("Items"); 2 3 order.AppendChild(items); 4 5 //添加属性 6 7 XmlElement orderItem1 = doc.CreateElement("OrderItem"); 8 9 orderItem1.SetAttribute("Name", "小三");10 11 orderItem1.SetAttribute("Count","10");12 13 items.AppendChild(orderItem1);
5.//保存到文件
doc.Save("order.xml");//从内存中保存到xml中
怎么读xml文件 标签没有属性的情况:
1 XmlDocument doc = new XmlDocument(); 2 3 //加载xml文件 4 5 doc.Load("books.xml");//在这之前要判断文件是否存在 6 7 //根节点 8 9 XmlElement books = doc.DocumentElement;//找到根节点DocumentElement10 11 //books 下的所有book元素12 13 XmlNodeList xnl = books.ChildNodes;14 15 foreach (XmlNode node in xnl)16 17 {18 19 Console.WriteLine(node.ChildNodes[0].InnerText);20 21 Console.WriteLine(node.ChildNodes[1].InnerText);22 23 }
有属性的情况:
1 XmlDocument doc = new XmlDocument(); 2 3 doc.Load("order.xml"); 4 5 //根节点 6 7 XmlElement root = doc.DocumentElement; 8 9 XmlNodeList xnl = root.ChildNodes;10 11 //读取标签的名字12 13 //Console.WriteLine(xnl[0].Name);14 15 Console.WriteLine(xnl[0].InnerText);16 17 Console.WriteLine(xnl[1].InnerText);18 19 XmlNode items = xnl[2];20 21 //orderitem22 23 XmlNodeList xnl1 = items.ChildNodes;24 25 foreach (XmlNode node in xnl1)26 27 {28 29 //获取属性的值30 31 Console.WriteLine(node.Attributes["Name"].Value);32 33 Console.WriteLine(node.Attributes["Count"].Value);34 35 }36 37
修改指定的节点
1 XmlDocument doc = new XmlDocument(); 2 3 doc.Load("order.xml"); 4 5 //修改指定的节点 6 7 //XmlNode node = doc.SelectSingleNode("/Order/CustomerName"); 8 9 //node.InnerText = "小薇";10 11 ////Console.WriteLine(node.InnerText);12 13 //doc.Save("order.xml");14 15 //使用xpath 读取指定的节点 此种方式比较方便16 17 //XmlNode node = doc.SelectSingleNode("/Order/CustomerName");18 19 //Console.WriteLine(node.InnerText);20 21 //XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");22 23 //foreach (XmlNode node in xnl)24 25 //{26 27 // Console.WriteLine(node.Attributes["Name"].Value);28 29 // Console.WriteLine(node.Attributes["Count"].Value);30 31 //}32 33 //根据标签的属性,读取指定的节点34 35 XmlNode node = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='媳妇']");36 37 node.Attributes["Count"].Value = "20";38 39 doc.Save("order.xml");
博客地址: | |
博客版权: | 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。 如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/3198013.html |