温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Egret之JSZip基础

发布时间:2020-03-25 22:13:43 来源:网络 阅读:3498 作者:Aonaufly 栏目:开发技术

首先要整第三方库 , 在上一篇中已经有所介绍 , 这里不讲。

关于 jszip和AS的aszip差不多一样。

这里我写了三个文件 : a.txt , b.xml , c.json 打包到一个 ziptest.zip的压缩包中。

a.txt:

Egret之JSZip基础

b.xml:

Egret之JSZip基础

c.json:

Egret之JSZip基础


ziptest.zip的位置:

Egret之JSZip基础


核心代码 :::

  private loadZip() : void{
   RES.getResByUrl("resource/ziptest.zip", function(data):void{
          let zipj : JSZip = new JSZip(data);
    this.analysisJSZip( zipj );
   },this, RES.ResourceItem.TYPE_BIN);
  }
  private analysisJSZip( zipj : JSZip ) : void{
   //a.txt解析
   let txtstr : JSZipObject = zipj.file("ziptest/a.txt");
   console.log('Txt content is ' + txtstr.asText());
   //b.xml解析
   let xmlstr : JSZipObject = zipj.file("ziptest/b.xml");
   let xmlConfig : egret.XML = egret.XML.parse(xmlstr.asText());
   console.log("the xml root name is : " + xmlConfig.name);
   let xmlChileren : Array<egret.XMLNode> = xmlConfig.children;
   let xmlChildrenLen : number = xmlChileren.length;
   let xmlCell : egret.XML = null;
   for( let i : number = 0 ; i < xmlChildrenLen ; i ++ ){
    xmlCell = <egret.XML><any>xmlChileren[i];
    if( xmlCell.name == "role" ){
     let xmlName : egret.XML = <egret.XML><any>xmlCell.children[0];//获得<name str="Aonaufly"/>
     console.log("xml role name is : " + xmlName["$str"]);
     break;
    }
   }
   //c.json解析
   let jsonstr : JSZipObject = zipj.file("ziptest/c.json");
   let jsonc : any = JSON.parse( jsonstr.asText() );
   console.log("json name is : " + jsonc.name);
  }

关于 zipj.file("ziptest/a.txt");

Egret之JSZip基础


结果:

Egret之JSZip基础


遍历Zip中的文件名

const $zip : JSZip = new JSZip( xmlData );
const $files : object =   $zip["files"];
for(var key in $files){
    console.log(key);        //键名 
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI