[英]loading texts from XML into flash AS3?
我有这种XML,可以显示mysql数据库中的一些数据。
我需要从xml中提取其中一些数据(即名称,价格等),并在Flash应用程序中显示它们。
现在,我可以提取图像并将其显示在Flash中,但是我无法将文本从xml显示到Flash中。
这是我的xml的结构:
<Data>
<ID>127</ID>
<Name>Example 1</Name>
<Price>12!!</Price>
<Image>inventory_images/127.jpg</Image>
<Date>Mar 08, 2013</Date>
</Data>
这是将在Flash中显示产品图片的代码(Flash AS3)。
stop();
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
var xmlLoader:URLLoader;
var xml:XML;
var xmlList:XMLList;
var uRequest = new URLRequest("PATH-TO-MY-XML-FILE");
xmlLoader = new URLLoader(uRequest);
xmlLoader.addEventListener(Event.COMPLETE, onXMLLoad);
var imgLoader:Loader;
function onXMLLoad(e:Event) {
xml = new XML(e.target.data);
imgLoader = new Loader();
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImgLoaded);
imgLoader.load(new URLRequest(xml.Data.Image.text()[0]));
}
function onImgLoaded(e:Event) {
addChild(imgLoader);
imgLoader.height = 300;
imgLoader.width = 300;
}
有人可以帮我这个忙吗?
提前致谢。
因此,如果我正确理解了您的问题,则图像加载和显示部分可以正常工作。 如果要显示文本,则可以使用TextFields,如下所示:
function onXMLLoad(e:Event) {
xml = new XML(e.target.data);
var tf:TextField = new TextField();
tf.text = xml.Name.text()[0];//or whatever part you want to display
addChild(tf);//you'll want to style and move tf, maybe.
}
flex标签也可以工作...
编辑:我也看到你在时间轴中,因此您可以简单地使用一个名为'myTextField'的动态文本字段,然后使用您的代码:
var myString:String = 'loading';
function onXMLLoad(e:Event) {
xml = new XML(e.target.data);
myTextField.text = "" + xml.Name.text()[0];
}
尝试imgLoader.load(new URLRequest(xml.Image.toString())); 并且您可能需要在XML中使用完整的url(例如http://yoursite.com/inventory_images/127.jpg)而不是stock_images / 127.jpg,或将http://yoursite.com/添加到url字符串中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.