//通过代码创建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给跟节点book创建子节点
XmlElement book1=doc.CreateElement("Book");
//6将Book添加跟节点
books.AppendChild(book1);
XmlElement name1=doc.CreateElement("Name");
name1.InnerText="金瓶梅" ;
book1.AppendChild(name1);
XmlElement price1=doc.CreateElement("Price");
price1.InnerText="10";
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 = "10";
book2.AppendChild(price2);
XmlElement des2 = doc.CreateElement("Des");
des2.InnerText = "好看你懂的";
book2.AppendChild(des2);
doc.Save("Books.xml");
Console.WriteLine("保存成功");
Console.ReadKey();
文件在当前项目路径bin/Debug/Books.xml
price2.InnerXml = "<p> 108拆迁户 </p>";
InnerXml 是添加节点意思
追加文档
XmlDocument doc = new XmlDocument();//声明对象
XmlElement Order;
if (File.Exists("Order.xml"))//判断文件存在
{
doc.Load("Order.xml");//加载文件
Order = doc.DocumentElement;//获取根节点
}
else//判断文件不存在
{
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);//声明节点描述信息
doc.AppendChild(dec);//添加描述信息
Order = doc.CreateElement("Order");//节点元素
}
doc.AppendChild(Order);
XmlElement books1 = doc.CreateElement("Books");//创建新元素
Order.AppendChild(books1);
XmlElement name = doc.CreateElement("Name");//创建新元素
name.SetAttribute("创作人", "张三");//创建属性
name.SetAttribute("年龄", "30");//创建属性
books1.AppendChild(name);
doc.Save("Order.Xml");//保存文件
读取XML文档
XmlDocument doc = new XmlDocument();//声明对象
doc.Load("Order.xml");//加载对象
XmlElement Order = doc.DocumentElement;//获取根节点
XmlNodeList xnl = Order.ChildNodes;//获取节点中的子节点返回集合
XmlNodeList xnll = doc.SelectNodes("/Order/Books/Name");//选择子节点返回集合
foreach (XmlNode item in xnll)//遍历结果
{
Console.WriteLine(item.Attributes["创作人"].Value);
Console.WriteLine(item.Attributes["年龄"].Value);
}
foreach (XmlNode item in xnl)//遍历结果
{
Console.WriteLine(item.InnerText);
}
Console.ReadKey();
//命名空间
using System.XML;
using System.IO;