我试图解析我在Actionscript 3.0中加载的文本文件,请帮忙

时间:2010-04-21 20:56:23

标签: actionscript-3 urlloader

我可以在Actionsript 3.0中找到有关URLLoader对象的信息涉及加载XML文件,我不想这样做。我正在尝试加载一个我要解析的.txt文件,逐行,每行由逗号分隔。任何人都知道这样做的方法或我可以找到一些如何做到这一点的信息的地方?谢谢!

3 个答案:

答案 0 :(得分:2)

查看String's split()方法以便开始。 它根据分隔符将字符串拆分为数组。在您的情况下,您将访问每一行作为使用split()和逗号字符返回的数组的元素。

e.g。

var csvLoader:URLLoader = new URLLoader(new URLRequest('yourFile.csv'));
csvLoader.addEventListener(Event.COMPLETE, csvLoaded);

function csvLoaded(event:Event):void{
   var lines:Array = String(event.target.data).split(',');
   var linesNum:int = lines.length;
   for(var i:int = 0 ; i < linesNum; i++){
      trace('line ' + i + ': ' + lines[i]);
   }
}

你可以使用event.target.data.split(','),我使用String来使split()的起源显而易见。

@dhdean的教程非常酷,只记得as2.0,所以加载文件有一些细微差别,但在as2.0 / as3.0中解析字符串应该差不多

根据您对as3.0的舒适程度,您可能需要查看csvlib

HTH, 乔治

答案 1 :(得分:1)

答案 2 :(得分:1)

对于您看到可以使用XML文件的任何示例,您只需删除显示“new XML()”的行

例如,在此示例中http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html#load()

您有以下示例:

   private function loaderCompleteHandler(event:Event):void {

            try {
                externalXML = new XML(loader.data);
                readNodes(externalXML);    
            } catch (e:TypeError) {
                trace("Could not parse the XML file.");
            }
    }

您的文本数据位于变量“loader.data”

使用

var arr:Array = loader.data.split(",");

将返回一个以逗号分隔的数组。