XML:可扩展的标记语言
例子1: 创建带属性的xml
XmlDocument doc = new XmlDocument();
XmlDeclaration dec= doc.CreateXmlDeclaration("1.0", "utf-8","yes");
doc.AppendChild(dec);
XmlElementorder = doc.CreateElement("Order");
doc.AppendChild(order);
XmlElementcustomerName = doc.CreateElement("CustomerName");
customerName.InnerXml = "<p>我是一个p标签</p>";
order.AppendChild(customerName);
XmlElementcustomerNumber = doc.CreateElement("CustomerNumber");
customerNumber.InnerText = "<p>我是一个p标签</p>";
order.AppendChild(customerNumber);
XmlElementitems = doc.CreateElement("Items");
order.AppendChild(items);
XmlElementorderItem1 = doc.CreateElement("OrderItem");
//给节点添加属性
orderItem1.SetAttribute("Name", "充气娃娃");
orderItem1.SetAttribute("Count", "10");
items.AppendChild(orderItem1);
XmlElementorderItem2 = doc.CreateElement("OrderItem");
//给节点添加属性
orderItem2.SetAttribute("Name", "充气娃娃");
orderItem2.SetAttribute("Count", "10");
items.AppendChild(orderItem2);
XmlElementorderItem3 = doc.CreateElement("OrderItem");
//给节点添加属性
orderItem3.SetAttribute("Name", "充气娃娃");
orderItem3.SetAttribute("Count", "10");
items.AppendChild(orderItem3);
doc.Save("Order.xml");
Console.WriteLine("保存成功");
Console.ReadKey();
例子2:追加XML文档
static void Main(string[] args)
{
//追加XML文档
XmlDocument doc= new XmlDocument();
XmlElementbooks;
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创建子节点
XmlElementbook1 = doc.CreateElement("Book");
//将book添加到根节点
books.AppendChild(book1);
//6、给Book1添加子节点
XmlElementname1 = doc.CreateElement("Name");
name1.InnerText = "c#开发大全";
book1.AppendChild(name1);
XmlElementprice1 = doc.CreateElement("Price");
price1.InnerText = "110";
book1.AppendChild(price1);
XmlElementdes1 = doc.CreateElement("Des");
des1.InnerText = "看不懂";
book1.AppendChild(des1);
doc.Save("Books.xml");
Console.WriteLine("保存成功");
Console.ReadKey();
}
例子3:读取xml文档
static void Main(string[] args)
{
//XmlDocument doc = new XmlDocument();
加载要读取的XML
//doc.Load("Books.xml");
获得根节点
//XmlElement books = doc.DocumentElement;
获得子节点 返回节点的集合
//XmlNodeListxnl = books.ChildNodes;
//foreach (XmlNode item in xnl)
//{
// Console.WriteLine(item.InnerText);
//}
//Console.ReadKey();
//读取带属性的XML文档
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
//Xpath
//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();
//改变属性的值
//XmlDocument doc = new XmlDocument();
//doc.Load("Order.xml");
//XmlNode xn =doc.SelectSingleNode("/Order/Items/OrderItem[@Name='190']");
//xn.Attributes["Count"].Value ="200";
//xn.Attributes["Name"].Value = "颜世伟";
//doc.Save("Order.xml");
//Console.WriteLine("保存成功");
XmlDocument doc= new XmlDocument();
doc.Load("Order.xml");
XmlNode xn= doc.SelectSingleNode("/Order/Items");
xn.RemoveAll();
doc.Save("Order.xml");
Console.WriteLine("删除成功");
Console.ReadKey();
获得文档的根节点
//XmlElement order = doc.DocumentElement;
//XmlNodeList xnl = order.ChildNodes;
//foreach (XmlNode item in xnl)
//{
// 如果不是Items 就continue
// //if (item[])
// //{
// // continue;
// //}
// Console.WriteLine(item.Attributes["Name"].Value);
// Console.WriteLine(item.Attributes["Count"].Value);
//}
Console.ReadKey();
}