美文网首页
用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