0

mysql データベースからのデータを示すこの XML があります。

これらのデータ (名前、価格など) の一部を xml から取得し、Flash アプリケーションで表示する必要があります。

これで、画像を取得してフラッシュに表示できますが、xml からテキストをフラッシュに表示する際に問題が発生します。

これは私の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 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;
}

誰かがこれで私を助けてもらえますか?

前もって感謝します。

4

2 に答える 2

1

したがって、あなたの質問を正しく理解できれば、画像の読み込みと表示の部分が機能します。テキストを表示したい場合は、次のように 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.
}

フレックスラベルも機能します...

編集: また、タイムラインにいることがわかります。たとえば、「myTextField」という名前の動的テキストフィールドを使用して、コードを使用できます:

var myString:String = 'loading';
function onXMLLoad(e:Event) {
    xml = new XML(e.target.data);
    myTextField.text =  "" + xml.Name.text()[0];
}
于 2013-03-21T13:41:23.130 に答える
0

imgLoader.load(new URLRequest(xml.Image.toString())); を試してください。xml で inventory_images/127.jpg の代わりにhttp://yoursite.com/inventory_images/127.jpgのような完全な URL を使用するか、URL 文字列にhttp://yoursite.com/を追加する必要がある場合があります。

于 2013-03-21T11:53:00.393 に答える