在C#中創(chuàng)建和讀取XML文件的實(shí)現(xiàn)方法
1.創(chuàng)建簡(jiǎn)單的XML文件
為了便于測(cè)試,我們首先創(chuàng)建控制臺(tái)應(yīng)用程序,項(xiàng)目命名為CreateXml,Program.cs代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace CreateXml
{
class Program
{
static void Main(string[] args)
{
Program app = new Program();
app.CreateXmlFile();
}
public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//創(chuàng)建類型聲明節(jié)點(diǎn)
XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
xmlDoc.AppendChild(node);
//創(chuàng)建根節(jié)點(diǎn)
XmlNode root = xmlDoc.CreateElement("User");
xmlDoc.AppendChild(root);
CreateNode(xmlDoc, root, "name", "xuwei");
CreateNode(xmlDoc, root, "sex", "male");
CreateNode(xmlDoc, root, "age", "25");
try
{
xmlDoc.Save("c://data2.xml");
}
catch (Exception e)
{
//顯示錯(cuò)誤信息
Console.WriteLine(e.Message);
}
//Console.ReadLine();
}
/// <summary>
/// 創(chuàng)建節(jié)點(diǎn)
/// </summary>
/// <param name="xmldoc"></param> xml文檔
/// <param name="parentnode"></param>父節(jié)點(diǎn)
/// <param name="name"></param> 節(jié)點(diǎn)名
/// <param name="value"></param> 節(jié)點(diǎn)值
///
public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
}
}
這樣會(huì)在C盤(pán)根目錄下創(chuàng)建data2.xml文件,文件內(nèi)容為
<?xml version="1.0" encoding="utf-8"?>
<User>
<name>xuwei</name>
<sex>male</sex>
<age>25</age>
</User>
2.創(chuàng)建多節(jié)點(diǎn)多層級(jí)的XML文件
只需要對(duì)CreateXmlFile()方法進(jìn)行簡(jiǎn)單修改即可,修改如下:
public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//創(chuàng)建類型聲明節(jié)點(diǎn)
XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
xmlDoc.AppendChild(node);
//創(chuàng)建根節(jié)點(diǎn)
XmlNode root = xmlDoc.CreateElement("Users");
xmlDoc.AppendChild(root);
XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node1, "name", "xuwei");
CreateNode(xmlDoc, node1, "sex", "male");
CreateNode(xmlDoc, node1, "age", "25");
root.AppendChild(node1);
XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node2, "name", "xiaolai");
CreateNode(xmlDoc, node2, "sex", "female");
CreateNode(xmlDoc, node2, "age", "23");
root.AppendChild(node2);
try
{
xmlDoc.Save("c://data5.xml");
}
catch (Exception e)
{
//顯示錯(cuò)誤信息
Console.WriteLine(e.Message);
}
//Console.ReadLine();
}
生成的xml文件內(nèi)容如下:
<?xml version="1.0" encoding="utf-8"?>
<Users>
<User>
<name>xuwei</name>
<sex>male</sex>
<age>25</age>
</User>
<User>
<name>xiaolai</name>
<sex>female</sex>
<age>23</age>
</User>
</Users>
相關(guān)文章
C#中的靜態(tài)字段double.Epsilon實(shí)例詳解
double.Epsilon 是C#中的一個(gè)靜態(tài)字段,表示 double 數(shù)據(jù)類型的最小可表示的正數(shù)值,這篇文章主要介紹了C#中的靜態(tài)字段double.Epsilon的相關(guān)知識(shí),需要的朋友可以參考下2024-01-01
C#中定時(shí)任務(wù)被阻塞問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于C#中定時(shí)任務(wù)被阻塞問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-11-11
C#網(wǎng)絡(luò)爬蟲(chóng)代碼分享 C#簡(jiǎn)單的爬取工具
這篇文章主要為大家詳細(xì)介紹了C#網(wǎng)絡(luò)爬蟲(chóng)代碼,教大家如何制作了簡(jiǎn)單的爬取工具,感興趣的小伙伴們可以參考一下2016-07-07
C#中StringBuilder用法以及和String的區(qū)別分析
當(dāng)我們?cè)诔鯇W(xué)使用C#時(shí),常常會(huì)不知道該用StringBuilder合適還是用String高效,下面是我在學(xué)習(xí)當(dāng)中對(duì)StringBuilder和String的區(qū)別總結(jié),分享給大家。2013-03-03
測(cè)試框架nunit之a(chǎn)ssertion斷言使用詳解
NUnit是.Net平臺(tái)的測(cè)試框架,廣泛用于.Net平臺(tái)的單元測(cè)試和回歸測(cè)試中,下面我們用示例詳細(xì)學(xué)習(xí)一下他的使用方法2014-01-01

