c# 创建属性值对数据结构类型xml文件工具类

来源:互联网 发布:linux进去编辑模式 编辑:程序博客网 时间:2024/06/05 02:09
      /// <summary>        /// 创建xml文件        /// </summary>        /// <param name="fileName">创建的文件名称</param>        /// <param name="nodeName">节点名称集合</param>        /// <param name="valueList">属性值对集合</param>        public static void CreateXmlFile(string fileName,List<string>nodeName,Hashtable ht) {            XmlDocument document = new XmlDocument();            //创建类型声明节点              XmlNode node = document.CreateXmlDeclaration("1.0", "utf-8", "");            document.AppendChild(node);            //创建根节点              XmlNode root = document.CreateElement(nodeName[0]);            XmlNode parentNode = root;            document.AppendChild(root);            if (nodeName.Count > 0) {                for (int m = 1; m < nodeName.Count-1; m++)                {                    XmlNode xNode = document.CreateNode(XmlNodeType.Element, nodeName[m], null);                    parentNode.AppendChild(xNode);                    parentNode = xNode;                }            }                       //设置属性值            foreach (DictionaryEntry de in ht)            {                XmlNode xNode = document.CreateNode(XmlNodeType.Element, nodeName[nodeName.Count-1], null);                parentNode.AppendChild(xNode);                XmlNode attr = document.CreateNode(XmlNodeType.Attribute, "name", null);                attr.Value = de.Key.ToString();                xNode.Attributes.SetNamedItem(attr);                XmlNode attr_value = document.CreateNode(XmlNodeType.Attribute, "value", null);                attr_value.Value = de.Value.ToString();                xNode.Attributes.SetNamedItem(attr_value);                //xNode.Attributes.            }            document.Save(Application.StartupPath + "\\" + fileName);                    }
调用方式:
 List<string> list = new List<string>();                list.Add("config");                list.Add("deviconfig");                list.Add("property");                Hashtable ht = new Hashtable();                ht.Add("device", "SP-3000");                ht.Add("portName", "COM1");                ht.Add("baudRate", "19200");                ht.Add("dataBits", "8");                ht.Add("stopBits", "0");                ht.Add("parity", "0");                ht.Add("handshake", 1);
XmlFileUtils.CreateXmlFile("config\\ImageDevices\\Series.xml", list, ht);
最后生成xml文件结构如下:
<?xml version="1.0" encoding="utf-8"?><config>  <deviconfig>    <property name="sourceindex" value="3" />    <property name="brightness" value="134" />    <property name="contrast" value="132" />    <property name="imageType" value="JPG" />    <property name="imageFun" value="页面" />    <property name="imgWidth" value="900" />    <property name="imgHigth" value="450" />    <property name="toplength" value="5" />    <property name="leftlength" value="5" />    <property name="shortcutkey" value="5" />  </deviconfig></config>
注意:上面工具类只用于生成这种数据结构类型的xml文件,对于<node>value<node>结构类型的xml文件无效(网上搜索到的基本都是创建这种类型xml文件的方法)。
0 0
原创粉丝点击