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

      /// <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文件的方法)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值