C# 如何在WINForm程序中創(chuàng)建XML文件
<?xml version="1.0" encoding="gb2312"?> <FilesInformation> <version>1.0.1818.42821</version> <description>說明</description> <FileItem FileName="name" FileVersion="sdf" FileLength="sdf" FileCreationTime="sd" /> </FilesInformation>
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
獲取和設(shè)置包含該應(yīng)用程序的目錄的名稱
File.Exists(path + XmlFileName)
File.Exists是判斷文件是否存在,傳入?yún)?shù)為路徑+文件名
XmlDocument xmlDoc = new XmlDocument();
這一句是創(chuàng)建一個(gè)XmlDocument對(duì)象
XmlDeclaration xmlSM = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
這一句是添加xml文件頭的聲明
xmlDoc.AppendChild(xmlSM);
這一句是將創(chuàng)建的XmlDocument對(duì)象追加到xml文件聲明后面
XmlElement DeviceTree = xmlDoc.CreateElement("DeviceTree");
這一句為創(chuàng)建一個(gè)標(biāo)簽名為DeviceTree的節(jié)點(diǎn)
DeviceTree.SetAttribute("name", "設(shè)備樹");
這一句設(shè)置節(jié)點(diǎn)的name屬性為設(shè)備樹
xmlDoc.AppendChild(DeviceTree);
這一句是將創(chuàng)建的節(jié)點(diǎn)添加到開始創(chuàng)建的XmlDocument對(duì)象中
xmlDoc.Save(path + XmlFileName);
最后是保存創(chuàng)建好的xml文件
方法1:
private void button1_Click(object sender, EventArgs e) { XmlDocument xmlDoc = new XmlDocument(); //建立Xml的定義聲明 XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); xmlDoc.AppendChild(dec); //創(chuàng)建根節(jié)點(diǎn) XmlElement root = xmlDoc.CreateElement("FilesInformation"); xmlDoc.AppendChild(root); XmlElement version = xmlDoc.CreateElement("version"); version.InnerText = "1.0.1818.42821"; root.AppendChild(version); XmlElement description = xmlDoc.CreateElement("description"); description.InnerText = "說明"; root.AppendChild(description); XmlElement fileItem = xmlDoc.CreateElement("FileItem"); fileItem.SetAttribute("FileName", "name"); fileItem.SetAttribute("FileVersion", "xx"); fileItem.SetAttribute("FileLength", "xxx"); fileItem.SetAttribute("FileCreationTime", "xxxx"); root.AppendChild(fileItem); xmlDoc.Save("test.xml"); }
方法2:
XmlDocument xmldoc = new XmlDocument(); XmlText xmltext; //聲明 XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", ""); xmlnode.InnerText += " encoding=\"GB2312\""; xmldoc.AppendChild(xmlnode); //添加根節(jié)點(diǎn) XmlElement xmlelementroot = xmldoc.CreateElement("", "Config", ""); //根節(jié)點(diǎn)包含節(jié)點(diǎn)文本時(shí)會(huì)造成XML文檔結(jié)構(gòu)的混亂 //xmltext = xmldoc.CreateTextNode("配置信息"); //xmlelementroot.AppendChild(xmltext); xmldoc.AppendChild(xmlelementroot); //添加一個(gè)元素 XmlElement xmlelement1 = xmldoc.CreateElement("", "DTL", ""); xmltext = xmldoc.CreateTextNode("2010-10-25"); xmlelement1.AppendChild(xmltext); xmldoc.ChildNodes.Item(1).AppendChild(xmlelement1); //添加另一個(gè)元素 XmlElement xmlelement2 = xmldoc.CreateElement("", "DTF", ""); xmltext = xmldoc.CreateTextNode("2011-02-10"); xmlelement2.AppendChild(xmltext); xmldoc.ChildNodes.Item(1).AppendChild(xmlelement2); //保存 xmldoc.Save(Environment.CurrentDirectory+\\111.xml);
方法3:
XmlTextWriter xmlwriter = new XmlTextWriter(getPath(), Encoding.Default); xmlwriter.Formatting = Formatting.Indented; xmlwriter.Indentation = 4; xmlwriter.WriteStartDocument(); xmlwriter.WriteStartElement("", "Config", ""); xmlwriter.WriteStartElement("", "DTL", ""); xmlwriter.WriteString("2010-10-25"); xmlwriter.WriteEndElement(); xmlwriter.WriteStartElement("", "DTF", ""); xmlwriter.WriteString("2011-02-10"); xmlwriter.WriteEndElement(); xmlwriter.WriteEndElement(); xmlwriter.WriteEndDocument(); xmlwriter.Flush(); xmlwriter.Close();
上面代碼中的getPath()是自定義的一個(gè)獲取文件路徑加名稱的方法,請(qǐng)根據(jù)自己實(shí)際情況修改!我一般設(shè)定為
Environment.CurrentDirectory+\\111.xml
總的來說還是方法三比較容易理解,簡(jiǎn)單易用,也是我常用的方法!
希望對(duì)各位有所幫助!
以上就是C# 如何在WINForm程序中創(chuàng)建XML文件的詳細(xì)內(nèi)容,更多關(guān)于c# 創(chuàng)建XML文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 使用Visual Studio2019創(chuàng)建C#項(xiàng)目(窗體應(yīng)用程序、控制臺(tái)應(yīng)用程序、Web應(yīng)用程序)
- C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序詳解
- C#創(chuàng)建WCF服務(wù)控制臺(tái)應(yīng)用程序詳解
- C#創(chuàng)建Web應(yīng)用程序代碼實(shí)例
- C#通過創(chuàng)建Windows服務(wù)啟動(dòng)程序的方法詳解
- C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例
- C#操作IIS程序池及站點(diǎn)的創(chuàng)建配置實(shí)現(xiàn)代碼
- C# 創(chuàng)建控制臺(tái)應(yīng)用程序
相關(guān)文章
基于C#實(shí)現(xiàn)一個(gè)簡(jiǎn)單的FTP操作工具
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)一個(gè)簡(jiǎn)單的FTP操作工具,可以實(shí)現(xiàn)FTP上傳、下載、重命名、刷新、刪除功能,感興趣的可以了解一下2022-08-08C#實(shí)現(xiàn)六大設(shè)計(jì)原則之依賴倒置原則
這篇文章介紹了C#實(shí)現(xiàn)六大設(shè)計(jì)原則之依賴倒置原則的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01C#實(shí)現(xiàn)簡(jiǎn)單的雙色球抽取中獎(jiǎng)號(hào)碼代碼
這篇文章主要介紹了C#實(shí)現(xiàn)簡(jiǎn)單的雙色球抽取中獎(jiǎng)號(hào)碼代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06聚星C#數(shù)字信號(hào)處理工具包頻譜分析的用法
這篇文章主要介紹了聚星C#數(shù)字信號(hào)處理工具包頻譜分析的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02C#枚舉數(shù)值與名稱的轉(zhuǎn)換實(shí)例分享
在應(yīng)用枚舉的時(shí)候,時(shí)常需要將枚舉和數(shù)值相互轉(zhuǎn)換的情況。有時(shí)候還需要轉(zhuǎn)換成相應(yīng)的中文。下面介紹一種方法2013-08-08asp.net實(shí)現(xiàn)遍歷Request的信息操作示例
這篇文章主要介紹了asp.net實(shí)現(xiàn)遍歷Request的信息操作,涉及asp.net針對(duì)請(qǐng)求信息相關(guān)操作打印操作技巧,需要的朋友可以參考下2020-03-03