Actionscript 3 AS3连接引用不工作

Actionscript 3 AS3连接引用不工作,actionscript-3,concatenation,Actionscript 3,Concatenation,我正在努力从XML文档中连接对变量的引用。我试图得到: chat_History.Msg.chatMessage1, chat_History.Msg.chatMessage2, chat_History.Msg.chatMessage3 相反,它超越了引用,变成了值“0”、“1”、“2”。我的代码: public function onReceivedChatData(Event:LoaderEvent) { var raw_user_info = LoaderMax.get

我正在努力从XML文档中连接对变量的引用。我试图得到:

chat_History.Msg.chatMessage1, chat_History.Msg.chatMessage2, chat_History.Msg.chatMessage3
相反,它超越了引用,变成了值“0”、“1”、“2”。我的代码:

    public function onReceivedChatData(Event:LoaderEvent)
{
    var raw_user_info = LoaderMax.getContent("chatHistory");
    var chat_History:XML = XML(raw_user_info);

    if (chat_History.Msg) 
    {
        trace("ReceivedChatData");
        trace(chat_History);                        

        for (var i:int = 0; i < int(chat_History.chatLength); i++)
        {
            var chatString:String = chat_History.Msg.chatMessage;
            chatString += i.toString();

            shopchatbox.shop_chat_window.text = shopchatbox.shop_chat_window.text + "\n" + chatString;
            shopchatwidebox.shop_chat_window.text = shopchatwidebox.shop_chat_window.text + "\n" + chatString;

        }
    }
    else
    {
        trace("chat_History XML Does Not Exist!!! Noooo :( ");
        trace(chat_History);
    }
}
ReceivedChatData上的公共函数(事件:LoaderEvent) { var raw_user_info=LoaderMax.getContent(“聊天历史”); var chat_History:XML=XML(原始用户信息); if(chat_History.Msg) { 跟踪(“接收到的数据”); 跟踪(聊天记录); for(变量i:int=0;i chatLength是3,它正确地调用了for语句3次,但是chatString没有正确地引用它的变量(字符串),并且只显示为“0”、“1”、“2”。我猜我没有正确地连接这一点,这就是问题所在,但我不确定如何做


谢谢!

chatString+=i.toString();

这将为您提供索引0、1、2。
i
只存储迭代的增量。而不是
chat\u History.Msg.chatMessage
中的值,因此您将
i
添加到
chatString
的内容中,而不是设置变量名

var chatString:String = chat_History.Msg.chatMessage;
chatString += i.toString();
您的代码在这里说,取
chatString
,并将其设置为值
chat\u History.Msg.chatMessage
,然后将
i
作为
String
连接到
chatString
的内容上

如果您想通过变量名访问变量,我相信您会这样做

var chatString:String = chat_History.Msg["chatMessage"+ String(i+1)];
所以
i+1
=1,2,3。这意味着您正在访问
chat\u History.Msg.chatMessage1
chat\u History.Msg.chatMessage2
chat\u History.Msg.chatMessage3

拆除管线

chatString += i.toString();
恐怕我无法测试这一点,因为我没有XML代码,但希望这能为您提供一个总体思路。我不能100%确定我是否正确地使用变量名调用变量,但可以使用字符串名调用变量

编辑:


在做了一些测试之后,语法似乎是正确的,因此应该可以从
chat\u History.Msg

中获取值。您可以发布相关XML的片段吗?