簡體   English   中英

動態創建XML從PHP到Actionscript 3

[英]Dynamically created XML from PHP to Actionscript 3

我試圖使用PHP動態創建一個XML文件,如下所示:

  header ("content-type: text/xml");

  // create doctype
  $dom = new DOMDocument("1.0");

  // create root element
  $root = $dom->createElement("tracklist");
  $dom->appendChild($root);
  $dom->formatOutput=true;

  // create child element
  foreach ($commonPlaylist as $value) {

     $trackArray = getTrackForID($value['ID']);

     $item = $dom->createElement("track");
     $root->appendChild($item);

     foreach ( $trackArray as $key => $value) {
      $attr = $dom->createAttribute($key);
      $item->appendChild($attr);

          $attrValue = $dom->createTextNode($value);
      $attr->appendChild($attrValue);
     }

  }

 echo $dom->saveXML();

該文件的輸出是正常工作的xml

<?xml version="1.0"?>
   <tracklist>
        <track ID="4" title="Track01" artist="Artist01" url="" length="" coverURL=""/>
        <track ID="1" title="Track02" artist="Artist02" url="" length="" coverURL=""/>
        <track ID="8" title="Track03" artist="Artist03" url="" length="" coverURL=""/>
   </tracklist>

但是,如果我想使用以下代碼將此數據轉換為as3:

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("getPlaylist.php"));
myLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void
{
    var myXml:XML= new XML(e.target.data);
    trace(myXml);  // The variable is being traced.

}

我根本沒有得到任何輸出。 如果我將該文件作為String讀取,我將獲得整個PHP代碼。 我究竟做錯了什么?

預先感謝您的任何幫助。

此致,Matteo

如果我將該文件作為String讀取,我將獲得整個PHP代碼

聽起來它不是在服務器端執行。 您是否在安裝了PHP的服務器上托管它?

檢查變量名稱

  • 您正在跟蹤myXML,XML變量名稱是myXml

processXML()實際上是否processXML()觸發? 嘗試修改它,如下面的代碼,看看你是否得到“嗨!” 部分追蹤。

function processXML(e:Event):void
{
    trace('Hi!');
    var myXml:XML= new XML(e.target.data);
    trace(myXML);
}

順便說一句,使用Flash調試器可能會更有用,因為我猜錯了什么:)因為Flash Professional附帶的那個很糟糕,我只能推薦DeMonster調試器 ,這使我在處理Flash項目時節省了大量時間。 擁有像Fiddler這樣的HTTP流量分析工具也沒什么壞處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM