zoukankan      html  css  js  c++  java
  • 使用LayaAir解析xml文件

    LayaBox对XML的加载进行了封装,相对于纯JS加载xmldom来说要方便了很多,我们直接调用laya的loader便可加载完成

    var _res = [
        {url: "res/config/test.xml", type: laya.net.Loader.XML},
    ];
    
    var loadXml = function(){
        //解析xml代码
    }
    
    Laya.loader.load(_res, laya.utils.Handler.create(this, function () {
                //加载完毕
                loadXml();
            }));
    }

    注意:加载文件的类型一定要是laya.net.Loader.XML

    以下是用来测试的xml

    <Root Name="test">
        <ATTR1 num="0" count="147"></ATTR1>
        <ATTR2 path="test/1024.jpg" name="你猜"></ATTR2>
        <REPEATED name="小明" age="10"></REPEATED>
        <REPEATED name="李狗蛋儿" age="20"></REPEATED>
    </Root>

    加载完成之后就是对xml文件的解析了,首先我们要获取这个xmldom

    var xmlDom = laya.net.Loader.getRes("res/config/test.xml");

    然后就可以逐层遍历xml,把数据按我们想要的格式存储起来

    var attr = xmlDom.childNodes[0].childNodes;
    for (var i = 0; i < attr.length; i++){
        if (attr[i].nodeName == "ATTR1"){
            for (var j = 0 ; j < attr[i].attributes.length ; j++){
                if (attr[i].attributes[j].nodeName == "num"){
                    this._battleData.num = attr[i].attributes[j].nodeValue;
                }
                else if (attr[i].attributes[j].nodeName == "count"){
                    this._battleData.count = attr[i].attributes[j].nodeValue;
                }
            }
        }
    }

    对于嵌套层次更深的节点,也是类似的做法 这里只是简单地记录一下使用方法,真正的游戏中需要把xml解析使用单独文件来管理

  • 相关阅读:
    HDU 2553 N皇后问题
    HDU 1251 统计难题(Trie tree)
    NYOJ 325 zb的生日
    dedecms文章页调用tag关键词_增加内链和关键字密度
    用DEDECMS做手机网站
    DedeCMS模板文件结构
    DEDECMS如何让栏目外部链接在新窗口中打开
    dedecms arclist中的自增变量 autoindex的说明
    dedecms 分页样式
    dedecms 修改默认html存放目录
  • 原文地址:https://www.cnblogs.com/SolarWings/p/6086944.html
Copyright © 2011-2022 走看看