首先要整第三方库 , 在上一篇中已经有所介绍 , 这里不讲。
关于 jszip和AS的aszip差不多一样。
这里我写了三个文件 : a.txt , b.xml , c.json 打包到一个 ziptest.zip的压缩包中。
a.txt:
b.xml:
c.json:
ziptest.zip的位置:
核心代码 :::
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
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");
结果:
本文转自Aonaufly51CTO博客,原文链接: http://blog.51cto.com/aonaufly/1970395,如需转载请自行联系原作者