XML文件操作(C#)


  XML應用於Web開發的許多方面,常用於簡化數據的存儲和共享,它的設計宗旨是傳輸數據,而非顯示數據。下面簡單介紹一下C#是如何對XML文件進行讀取的。

1、首先,建立XML對象並關聯XML文件

string xmlFileName = "student.xml";

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFileName);

2、獲取到xml文件的根節點

//獲取到xml文件的根節點
XmlElement nodeRoot = xmlDoc.DocumentElement;

3、創建新節點

//創建一個新節點
XmlElement nodeNew = xmlDoc.CreateElement("student");
//創建新節點的孩子節點
XmlElement nodeNum = xmlDoc.CreateElement("num");
XmlElement nodeName = xmlDoc.CreateElement("name");
XmlElement nodeAge = xmlDoc.CreateElement("age");
//把孩子節點與新節點建立父子關系
nodeNew.AppendChild(nodeNum);
nodeNew.AppendChild(nodeName);
nodeNew.AppendChild(nodeAge);
//創建節點文本,並關聯節點
XmlText txtNum = xmlDoc.CreateTextNode("001");
XmlText txtName = xmlDoc.CreateTextNode("張三");
XmlText txtAge = xmlDoc.CreateTextNode("22");
nodeNum.AppendChild(txtNum);
nodeName.AppendChild(txtName);
nodeAge.AppendChild(txtAge);

4、添加新建的節點到文件

//添加新建的節點
nodeRoot.AppendChild(nodeNew);//添加到根節點
//nodeRoot.InsertBefore(nodeNew, nodeRoot.FirstChild);//添加到尾部

5、刪除節點

if (nodeRoot.HasChildNodes)
{
    nodeRoot.RemoveChild(nodeRoot.FirstChild);//刪除首個節點
}

6、遍歷節點

//遍歷student.xml,查看指定節點的age值
XmlNodeList studentList = nodeRoot.SelectNodes("*");
foreach (XmlNode student in studentList)
{               
    if (student.FirstChild.InnerText.Equals("004"))
    {
        XmlNodeList stuChidNodeList = student.SelectNodes("*");
        foreach (XmlNode stuChileNode in stuChidNodeList)
        {
            if (stuChileNode.Name.Equals("age"))
            {
                Console.Write(stuChileNode.InnerText + " ");
            }
        }
        Console.WriteLine();
        break;
    }
    else
    {
        continue;
    }                
}

7、保存XML文件

//保存xml
xmlDoc.Save(xmlFileName);

附件:

  實驗XML文件(student.xml)

<?xml version="1.0" encoding="utf-8"?>
<!--學生根節點-->
<students>
  <student class="clss1">
    <num>002</num>
    <name>hello2</name>
    <age>22</age>
  </student>
  <student class="clss2">
    <num>003</num>
    <name>hello3</name>
    <age>88</age>
  </student>
  <student>
    <num>004</num>
    <name>faf</name>
    <age>43</age>
  </student>
  <student>
    <num>005</num>
    <name>新人</name>
    <age>22</age>
  </student>
  <student>
    <num>006</num>
    <name>新人</name>
    <age>22</age>
  </student>
  <student>
    <num>001</num>
    <name>張三</name>
    <age>22</age>
  </student>
  <student>
    <num>001</num>
    <name>張三</name>
    <age>22</age>
  </student>
</students>
student.xml

相關鏈接:

  XML基礎教程:http://www.w3school.com.cn/xml/index.asp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM