Php AS3将变量从外部XML加载到文本字段

Php AS3将变量从外部XML加载到文本字段,php,xml,actionscript-3,variables,echo,Php,Xml,Actionscript 3,Variables,Echo,我有一个输出XML数据的php文件,还有一个用AS3编码的swf文件,我想在其中加载php的输出 PHP代码: echo "<root> <Username>" . $xml1 . "</Username> <XMLNode2>" . $xml2 . "</XMLNode2> <XMLNode3>" . $xml3 . "</XMLNode3>

我有一个输出XML数据的php文件,还有一个用AS3编码的swf文件,我想在其中加载php的输出

PHP代码:

 echo "<root>
           <Username>" . $xml1 . "</Username>
           <XMLNode2>" . $xml2 . "</XMLNode2>
            <XMLNode3>" . $xml3 . "</XMLNode3>
         </root>";
这是我在AS3代码中得到的错误:

通过静态类型为flash.xml:XMLDocument的引用访问可能未定义的属性Username


基本上,这些Txtelement是dinamic文本(类似于标签)。

这里不需要XMLDocument。 您只需要XML类

请看文档中的XML类示例:

下面是一个对xml数据进行操作的示例类:

package 
{
    import flash.display.Sprite;
    public class FlashTest extends Sprite 
    {
        public function FlashTest() 
        {
            var xml:XML = 
            <root>
                <Username>Paul</Username>
                <XMLNode2> </XMLNode2>
                <XMLNode3></XMLNode3>
            </root>;

            trace("username is: " + xml.Username);
        }
    }
}
包
{
导入flash.display.Sprite;
公共类FlashTest扩展了Sprite
{
公共功能测试()
{
变量xml:xml=
保罗
;
跟踪(“用户名为:”+xml.username);
}
}
}
您只需执行以下操作:

var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onLoaded);
    loader.load(new URLRequest('playerData.php'));

function onLoaded(evt:Event):void
{   
    var myXML:XML = new XML(evt.target.data);
    trace(myXML.Username);                           // gives : the value of your php $xml1 var

    userField.text = (myXML.Username).toString();    // we don't need trace() to assing a value to a textfield

}

XML文档的目的是什么?您的代码不包括对属性“Username”的访问。你发布了你所有的代码吗?但我仍然可以收到值…我编辑了函数,现在看看..现在我又收到一个错误:将void类型的值隐式强制到一个不相关的类型字符串。我已经看到了它,但我发现创建简单输出(无XML)更容易,所以在我的php中只是:print“&uName=$user”;打印“&uLevel=$level”;在我的AS3中,请看这里:如果你对你的问题的答案不感兴趣,请不要在这里提问。谢谢。我很感兴趣,我就是不能用XML类型来理解它,所以用XML的答案是:输出中的trace(“用户名是:”+XML.username),但为什么要写“Paul”?我不知道如何将这个输出放到文本字段中。比如:username.text=trace(xml.username)。我添加了Paul作为一个伪值。XML由php变量中的值组成。我提供的示例按原样运行并演示如何访问XML结构中的数据。然后我们仍然需要给出php变量值的行?传递给跟踪函数(myXML.Username)的变量也可以设置为文本字段的文本属性。你可以用它做任何你想做的事。现在我很困惑,我没有得到任何错误,但是我的“userField”是空的。使用
trace(myXML)验证你的xml是否包含数据或直接在web浏览器上打开脚本()。我的XML启动“用户”,但文本字段好像没有看到它,为什么?
var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onLoaded);
    loader.load(new URLRequest('playerData.php'));

function onLoaded(evt:Event):void
{   
    var myXML:XML = new XML(evt.target.data);
    trace(myXML.Username);                           // gives : the value of your php $xml1 var

    userField.text = (myXML.Username).toString();    // we don't need trace() to assing a value to a textfield

}