【发布时间】:2011-09-05 11:14:45
【问题描述】:
我想嵌入给定文件夹的所有 xml 文件。现在我正在做这样的事情:
[Embed(source="../somefolder/file1.xml", mimeType="application/octet-stream")]
private var MyClass1:Class;
[Embed(source="../somefolder/file2.xml", mimeType="application/octet-stream")]
private var MyClass2:Class;
[Embed(source="../somefolder/file3.xml", mimeType="application/octet-stream")]
private var MyClass3:Class;
和
var file:XML;
var bytes:ByteArray;
switch (fileId) {
case 1:
bytes = new MyClass1();
break;
case 2:
bytes = new MyClass2();
break;
case 3:
bytes = new MyClass3();
break;
}
file = new XML(bytes.readUTFBytes(bytes.length));
XML 文件列表将增长到 10 多个文件,因此我正在寻找一种更优雅、更动态的方式来嵌入这些文件。
文件应该在编译时嵌入,不能通过 URLLoader 加载它们。
有什么想法吗?
【问题讨论】:
-
为什么一定要嵌入;而不是在运行时加载?为什么需要这么多不同的文件?
-
为什么重要?我只是想知道这是否可能。 :)
-
@roberkules 对我来说,这听起来像是架构/方法的问题。但是,任何开发决策总是需要权衡取舍,因此我无法确定“为什么”。
-
架构是否好不是问题的一部分。直截了当的问题 - 是否可能(如果是,如何)。
-
@roberkules 是的,当然可以;您已经有了一种在答案中加载多个 XML 文件的解决方案。这不是“有可能”风格的问题。
标签: flash apache-flex actionscript-3 embed flash-builder