Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP到Actionscript 3动态创建XML_Php_Xml_Actionscript 3 - Fatal编程技术网

从PHP到Actionscript 3动态创建XML

从PHP到Actionscript 3动态创建XML,php,xml,actionscript-3,Php,Xml,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;

我尝试使用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>
}

我根本没有得到任何输出。如果我将该文件作为字符串读取,则会得到整个PHP代码。我做错了什么

提前感谢您的帮助

问候,,
Matteo检查变量名

  • 您正在跟踪myXML&XML变量名是myXML
如果我将文件作为字符串读取,我将获得整个PHP代码

听起来好像它没有在服务器端执行。您是否将其托管在安装了PHP的服务器上?

是否实际触发了
processXML()?试着像下面的代码那样修改它,看看是否跟踪到了“Hi!”部分

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

顺便说一句,使用Flash调试器可能比猜测出错的地方有用得多:)因为Flash Professional附带的调试器太差劲了,所以我只能推荐它,它在处理Flash项目时节省了我很多时间。拥有HTTP流量分析工具也不会有什么坏处。

我在写问题时输入了这个工具。这不是我代码中的问题。好的,更正了变量名。在创建新的XML对象之前跟踪URL请求的输出如何?这是否显示了输出?如果我错了,请纠正我。我想不会的,因为URL应该指定方案http://'localhost/getPlaylist.php',我现在可以在脸上打自己了。我正在本地服务器上测试这个。我总是像这样在浏览器中检查文件,同时在没有localhost:8888的情况下将其加载到flash文件中,这就是PHP无法工作的原因。谢谢!!!Jap是对的,我只是等了几分钟,直到我能接受。谢谢
function processXML(e:Event):void
{
    trace('Hi!');
    var myXml:XML= new XML(e.target.data);
    trace(myXML);
}