Unity3d中XML的解析

Xml文件为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<item ID="1">
		<surname>赵</surname>
		<man>夷</man>
		<woman>妃</woman>
	</item>
	<item ID="2">
		<surname>孙</surname>
		<man>洛</man>
		<woman>羽</woman>
	</item>
	<item ID="3">
		<surname>李</surname>
		<man>乐</man>
		<woman>青</woman>
	</item>
	<item ID="4">
		<surname>周</surname>
		<man>锋</man>
		<woman>月</woman>
	</item>
</root>

解析C#文件内容为:

private List<string> surnameList = new List<string>();
    private List<string> manList = new List<string>();
    private List<string> womanList = new List<string>();
    private void InitRdNameCfg()
    {
        //1、第一步读取XML文件为TextAsset信息存入实例textAs中
        TextAsset textAs = Resources.Load<TextAsset>(PathDefine.RdNameCfg);
        if (!textAs)
        {
            Debug.Log("xml file:" + PathDefine.RdNameCfg + " not exist!");
        }
        else
        {
        //2、通过xmlDocument的实例使用LoadXml()方法读取textAs.text信息,解析为XmlDocment信息并存入实例xmlDoc
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(textAs.text);
        //3、利用xmlDoc的SelectSingleNode()方法读取root根节点。并使用这个节点实例的ChildNodes属性读取
            //到整个root的所有子节点,存放在XmlNodeList实例中
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("root").ChildNodes;
            //遍历nodelist得到xmlelement
            foreach (XmlElement item in nodeList)
            {
                if (item.GetAttribute("ID")=="")
                {
                    continue;
                }
                foreach (XmlElement e in item.ChildNodes)
                {
                    switch (e.Name)
                    {
                        case "surname":
                            surnameList.Add(e.InnerText);
                            break;
                        case "man":
                            manList.Add(e.InnerText);
                            break;
                        case "woman":
                            womanList.Add(e.InnerText);
                            break;
                    }

                }

            }

        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值