XML被设计用来传输和存储数据。
首先在程序运行目录下创建了一个XML文件“Datas.xml”。内容如下:
<?xml version="1.0" encoding="utf-8"?>
<peoples>
<!--人员信息-->
<people>
<name>张三</name>
<age>20</age>
</people>
<people>
<name>李四</name>
<age>26</age>
</people>
</peoples>
下面就来介绍一下C#操作XML的方法。
一、读取XML
/// <summary>
/// 读取XML中全部数据
/// </summary>
public static void ReadXML()
{
Dictionary<string, string> dic = new Dictionary<string, string>();
XElement xElement = XElement.Load(@"Datas.xml");
IEnumerable<XElement> xElements = from ele in xElement.Elements("people") select ele;
foreach (var item in xElements)
{
dic[item.Element("name").Value] = item.Element("age").Value;
}
}
二、添加数据
/// <summary>
/// 往XML中添加数据
/// </summary>
public static void AddDatas()
{
XElement xe = XElement.Load(@"Datas.xml");
XElement element = new XElement(new XElement("people",new XElement("name", "大黄"),new XElement("age", "16")));
xe.Add(element);
xe.Save(@"Datas.xml");
}
三、修改数据
/// <summary>
/// 修改数据
/// </summary>
public static void UpdateData()
{
XElement xe = XElement.Load(@"Datas.xml");
IEnumerable<XElement> xElements = from ele in xe.Elements("people") where (string)ele.Element("name") == "大黄" select ele;
if (xElements.Count() > 0)
{
xElements.First().ReplaceNodes(new XElement("name", "大黄"), new XElement("age", "6"));
}
xe.Save(@"Datas.xml");
}
四、删除数据
1、删除符合要求的数据,如删除"name"为"大黄"的数据:
/// <summary>
/// 删除符合条件数据
/// </summary>
public static void DeleData()
{
XElement xe = XElement.Load(@"Datas.xml");
IEnumerable<XElement> xElements = from ele in xe.Elements("people") where (string)ele.Element("name")=="大黄" select ele;
if (xElements.Count() > 0)
{
xElements.First().Remove();
}
xe.Save(@"Datas.xml");
}
2、删除所有记录
/// <summary>
/// 删除全部数据
/// </summary>
public static void RemoveAll()
{
XElement xElement = XElement.Load(@"Datas.xml");
IEnumerable<XElement> xElements = from ele in xElement.Elements("people") select ele;
if (xElements.Count() > 0)
{
xElements.Remove();
}
xElement.Save(@"Datas.xml");
}
五、创建XML文件
/// <summary>
/// 创建XML文件
/// </summary>
public static void CreateXmlFile()
{
XDocument xDocument = new XDocument();
XElement xRoot = new XElement("peoples");
XElement xElement = new XElement(new XElement("people", new XElement("name", "大黄"), new XElement("age", "16")));
xRoot.Add(xElement);
xDocument.Add(xRoot);
xDocument.Save(@"Datas.xml");
}