美文网首页
用Excel生成配置文件并读取

用Excel生成配置文件并读取

作者: GameObjectLgy | 来源:发表于2020-11-27 12:14 被阅读0次
    用Excel生成配置配置文件

    1、准备好.xml模板文件
    比如:

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
        <item ID="">        
            <surname></surname>
            <man></man>
            <woman></woman>
        </item>
        <item ID="">        
            <surname></surname>
            <man></man>
            <woman></woman>
        </item>
    </root>
    

    注意:必须要有两个相同的数据节点

    2、转成.xlsx文件,这个格式才能被Excel编辑
    步骤:
    1)打开Excel-> 文件->选项->自定义功能区->主选项卡->开发工具->添加(已添加则不需要添加)
    2)开发工具->xml面板->源->xml映射->添加你想映射的模板文件->确定,打开->右键,映射元素->编辑生成的表

    3、导出xml文件
    步骤:
    1)开发工具->xml面板->源->导出


    image.png
    在Unity中解析xml文件

    将姓氏存储在surnameLst
    男生名字放manLst
    女生名字放womanLst
    GetRDNameData 随机出一个名字

        private List<string> surnameLst = new List<string>();
        private List<string> manLst = new List<string>();
        private List<string> womanLst = new List<string>();
        private void InitRDNameCfg() {
            TextAsset xml = Resources.Load<TextAsset>(PathDefine.RDNameCfg);
            if (!xml) {
                Debug.LogError("xml file:" + PathDefine.RDNameCfg + " not exist");
            }
            else {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml.text);
    
                XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;
    
                for (int i = 0; i < nodLst.Count; i++) {
                    XmlElement ele = nodLst[i] as XmlElement;
    
                    if (ele.GetAttributeNode("ID") == null) {
                        continue;
                    }
                    int ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);
                    foreach (XmlElement e in nodLst[i].ChildNodes) {
                        switch (e.Name) {
                            case "surname":
                                surnameLst.Add(e.InnerText);
                                break;
                            case "man":
                                manLst.Add(e.InnerText);
                                break;
                            case "woman":
                                womanLst.Add(e.InnerText);
                                break;
                        }
                    }
    
                }
    
            }
    
        }
    
        public string GetRDNameData(bool man = true) {
            System.Random rd = new System.Random();
            string rdName = surnameLst[PETools.RDInt(0, surnameLst.Count - 1)];
            if (man) {
                rdName += manLst[PETools.RDInt(0, manLst.Count - 1)];
            }
            else {
                rdName += womanLst[PETools.RDInt(0, womanLst.Count - 1)];
            }
    
            return rdName;
        }
    

    相关文章

      网友评论

          本文标题:用Excel生成配置文件并读取

          本文链接:https://www.haomeiwen.com/subject/zsntpktx.html