博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML文件操作类--创建XML文件
阅读量:4926 次
发布时间:2019-06-11

本文共 5592 字,大约阅读时间需要 18 分钟。

      这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例。

using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;namespace testForm{    class Operation_APPCFG    {        XmlDocument xmldoc;        XmlNode xmlnode;        XmlElement xmlelem;        XmlDeclaration xmldecl;        ///         /// 构造函数        ///         public Operation_APPCFG()        {            xmldoc = new XmlDocument();        }        ///         /// 创建XML文件的段落声明        ///         /// XML编码方式,输入"gb2312"、"utf-8"        /// 独立特性,输入"yes"、"no"或"null",默认为"null"        public void CreateDeclaration(string strEncoding,string strStandalone)        {            if ((strEncoding == null) || (strEncoding == ""))            {                strEncoding = null;            }            if ((strStandalone == null) || (strStandalone == ""))            {                strStandalone = null;            }            else            {                if (!strStandalone.Equals("yes") || !strStandalone.Equals("no"))                {                    strStandalone = null;                }            }            xmldecl = xmldoc.CreateXmlDeclaration("1.0", strEncoding, strStandalone);            xmldoc.AppendChild(xmldecl);        }        ///         /// 创建root元素        ///         /// root元素的名称        public void CreateElement(string localName)        {            xmlelem = xmldoc.CreateElement("", localName, "");            xmldoc.AppendChild(xmlelem);        }        ///         /// 创建节点的子节点,模式 
///
/// 父节点的名称 /// 节点的名称 /// 需创建的子节点的hashtable public void CreateNodeModeA(string parentName, string NodeName, Hashtable hash) { XmlNode root = xmldoc.SelectSingleNode(parentName); XmlElement xe1 = xmldoc.CreateElement("Node");//创建一个
节点 foreach (DictionaryEntry de in hash) { xe1.SetAttribute(de.Key.ToString(), de.Value.ToString());//设置该节点genre属性 //xe1.SetAttribute("ISBN", "2-3631-4"); } root.AppendChild(xe1); } ///
/// 创建节点的子节点(泛型方法),模式
///
///
父节点的名称 ///
节点的名称 ///
需创建的子节点的hashtable public void CreateNodeModeB(string parentName,string NodeName, Dictionary
hash ) { XmlNode root = xmldoc.SelectSingleNode(parentName); XmlElement xe1 = xmldoc.CreateElement("Node");//创建一个
节点 foreach (KeyValuePair
de in hash) { xe1.SetAttribute(de.Key.ToString(), de.Value.ToString());//设置该节点genre属性 //xe1.SetAttribute("ISBN", "2-3631-4"); } root.AppendChild(xe1); } ///
/// 创建节点的子节点(泛型方法),模式 入门到精通 /// ///
节点的名称 ///
需创建的子节点的hashtable public void CreateNodeModeC(string parentName,Hashtable hash) { XmlNode root = xmldoc.SelectSingleNode(parentName); XmlElement xesub1; foreach (DictionaryEntry de in hash) { xesub1 = xmldoc.CreateElement(de.Key.ToString()); xesub1.InnerText = de.Value.ToString();//设置文本节点 root.AppendChild(xesub1); } } ///
/// 保存文件 /// ///
public void SaveFile(string pathFile) { xmldoc.Save(pathFile); } }}

   下面是网上一位网友写的示例,参考意义相同,原文地址http://www.cnblogs.com/txw1958/archive/2013/01/16/csharp-xml.html

public void CreateFile()        {                        //加入XML的声明段落,
XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", null, null);//encoding mode:"gb2312"、"utf-8",也可以为null xmldoc.AppendChild(xmldecl); //加入一个根元素 xmlelem = xmldoc.CreateElement("", "configuration", ""); xmldoc.AppendChild(xmlelem); //加入另外一个元素 for (int i = 1; i < 3; i++) { XmlNode root = xmldoc.SelectSingleNode("Employees");//查找
XmlElement xe1 = xmldoc.CreateElement("Node");//创建一个
节点 xe1.SetAttribute("genre", "DouCube");//设置该节点genre属性 xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点ISBN属性 XmlElement xesub1 = xmldoc.CreateElement("title"); xesub1.InnerText = "CS从入门到精通";//设置文本节点 xe1.AppendChild(xesub1);//添加到
节点中 XmlElement xesub2 = xmldoc.CreateElement("author"); xesub2.InnerText = "候捷"; xe1.AppendChild(xesub2); XmlElement xesub3 = xmldoc.CreateElement("price"); xesub3.InnerText = "58.3"; xe1.AppendChild(xesub3); root.AppendChild(xe1);//添加到
节点中 } //保存创建好的XML文档 xmldoc.Save("DB.cfg"); }

       APP.config 本质上也是一个XML文件,下面是一些参考资料

       http://www.cnblogs.com/zfanlong1314/p/3623622.html

       https://msdn.microsoft.com/zh-cn/library/system.configuration.configuration(v=vs.80).aspx

       http://www.cnblogs.com/bynet/archive/2010/06/10/1755721.html

      其它参考资料

  http://blog.csdn.net/albertliangyg/article/details/8633521

  https://msdn.microsoft.com/zh-cn/library/system.text.encoding(v=vs.80).aspx

  https://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.createelement(v=vs.100).aspx

  https://msdn.microsoft.com/zh-cn/library/5tbh8a42

转载于:https://www.cnblogs.com/hhhh2010/p/4643612.html

你可能感兴趣的文章
springMVC+Java验证码完善注册功能
查看>>
在虚拟机中的Linux系统搭建ftp服务器,使用nginx代理,实现外网访问ftp服务器的文件——centos6.5系统中的nginx安装及配置...
查看>>
css3媒体查询简单实例
查看>>
java-properties配置文件
查看>>
算法学习-哈希表
查看>>
python操作mysql
查看>>
javascript 学习1
查看>>
Angular应用架构设计-3:Ngrx Store
查看>>
<a>标签文件下载文件名乱码问题
查看>>
HTTP抓包
查看>>
numpy array分割-【老鱼学numpy】
查看>>
第五篇Python基本数据类型
查看>>
[WCF]WCF起航
查看>>
工作中常用的js、jquery自定义扩展函数代码片段
查看>>
JavaBean学习--练习示例
查看>>
【codeforces】【比赛题解】#915 Educational CF Round 36
查看>>
第二阶段团队冲刺10
查看>>
海量分页的简单分析
查看>>
ES6入门教程---变量和常量
查看>>
Python项目中使用配置文件
查看>>