c# XML基础,可扩展标记语言,简单储存/配置数据
一、写入:

XmlDocument doc = new XmlDocument();
//xml文档信息
XmlDeclaration dec= doc.CreateXmlDeclaration("1.2", "UTF-8", null);
//加入doc
doc.AppendChild(dec);
//根信息加入doc
XmlElement root= doc.CreateElement("books");
doc.AppendChild(root);
//book1节点加入root
XmlElement book1 = doc.CreateElement("book1");
root.AppendChild(book1);
//生成book1子节点
XmlElement name1 = doc.CreateElement("name");
XmlElement price1 = doc.CreateElement("price");
XmlElement count1 = doc.CreateElement("count");
//book1子节点加入book1
book1.AppendChild(name1);
book1.AppendChild(price1);
book1.AppendChild(count1);
//子节点赋值
name1.InnerText = "水浒传";
price1.InnerText = "200元";
count1.InnerXml = "<p>dd</p>";//innerxml内元素不转义
//设置子节点属性
name1.SetAttribute("曾用名", "无");
//保存文件
doc.save("1.xml");
二、读取和追加
//xml追加,原理是读取文件,先获得根节点,然后操作根节点即可
XmlDocument doc = new XmlDocument();
XmlElement root; //根节点
if (File.Exists("1.xml"))
{
//加载文件
doc.Load("1.xml");
//获取根节点
root = doc.DocumentElement;
}
else
{
//创建头信息并加入文档
XmlDeclaration desc= doc.CreateXmlDeclaration("1.2", "utf-8", null);
doc.AppendChild(desc);
//创建根节点
root= doc.CreateElement("books");
//加入文档
doc.AppendChild(root);
}
//加入新节点
XmlElement des = doc.CreateElement("des");
root.AppendChild(des);
//已存在文件保存
doc.Save("1.xml");
三、读取节点
//读取所有子节点文本
XmlNodeList xclist= root.ChildNodes;
foreach (XmlNode item in xclist)
{
label1.Text = item.InnerText;
}
//xpath读取单个节点文本
label1.Text = doc.SelectSingleNode(@"/books/book1/name").InnerText;
//xpath读取多个节点
foreach (XmlNode item in doc.SelectNodes(@"/books/book1"))
{
label1.Text = item.InnerText;
}
//获取或者修改属性值
label1.Text = doc.SelectSingleNode(@"/books/book1/name").Attributes["曾用名"].Value; //节点方法修改
name1.SetAttribute("曾用名", "的"); //元素方法修改
doc.Save("1.xml"); //修改完必须保存,不然没有改变
四、删除节点
doc.SelectSingleNode(@"/books/book1/name").RemoveAll(); //必须保存
拓展 https://blog.csdn.net/jiankunking/article/details/17992753

浙公网安备 33010602011771号