繁体   English   中英

将XML数据加载到SWF文件时出现问题

[英]Problems loading XML data in to SWF file

我正在尝试将高分数据加载到SWF中。 我有20个动态文本字段。 首字母缩写为10,分数为10。

这是我的SWF文件中的Actionscript:

var xmlData:XML = new XML();
var theURL_ur:URLRequest = new URLRequest("joust_test.xml");
var loader_ul:URLLoader = new URLLoader(theURL_ur);
loader_ul.addEventListener("complete", fileLoaded);

function fileLoaded(e:Event):void
{
   xmlData = XML(loader_ul.data);

   n1_txt.text = xmlData.name1;
   n2_txt.text = xmlData.name2;
   n3_txt.text = xmlData.name3;
   n4_txt.text = xmlData.name4;
   n5_txt.text = xmlData.name5;
   n6_txt.text = xmlData.name6;
   n7_txt.text = xmlData.name7;
   n8_txt.text = xmlData.name8;
   n9_txt.text = xmlData.name9;
   n10_txt.text = xmlData.name10;
   s1_txt.text = xmlData.score1;
   s2_txt.text = xmlData.score2;
   s3_txt.text = xmlData.score3;
   s4_txt.text = xmlData.score4;
   s5_txt.text = xmlData.score5;
   s6_txt.text = xmlData.score6;
   s7_txt.text = xmlData.score7;
   s8_txt.text = xmlData.score8;
   s9_txt.text = xmlData.score9;
   s10_txt.text = xmlData.score1;

}

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<joust>
    <first>
        <name1>BBH</name1>
        <score1>515250</score1>
    </first>
    <second>
        <name2>BBH</name2>
        <score2>250600</score2>
    </second>
    <third>
        <name3>MRM</name3>
        <score3>239050</score3>
    </third>
    <fourth>
        <name4>n/a</name4>
        <score4>229800</score4>
    </fourth>
    <fifth>
        <name5>REI</name5>
        <score5>215500</score5>
    </fifth>
    <sixth>
        <name6>CTS</name6>
        <score6>177650</score6>
    </sixth>
    <seventh>
        <name7>JTK</name7>
        <score7>175150</score7>
    </seventh>
    <eighth>
        <name8>JTK</name8>
        <score8>173900</score8>
    </eighth>
    <ninth>
        <name9>ACH</name9>
        <score9>171900</score9>
    </ninth>
    <tenth>
        <name10>ZAQ</name10>
        <score10>153110</score10>
    </tenth>
</joust>

有人可以帮我弄清楚我可能做错了什么吗? SWF和XML文件位于我的桌面上的同一文件夹中以进行测试。

对ActionScript代码中元素的引用不能说明XML结构的层次结构。

例如, name1score1是孩子first ,这将作为被引用:

xmlData.first.name1
xmlData.first.score1

或者,您可以使用后代访问器( .. )运算符来访问XML对象的子属性:

xmlData..name1
xmlData..score1

因此,您的代码如下:

var loader:URLLoader = new URLLoader(new URLRequest("joust_test.xml"));
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

function loaderCompleteHandler(event:Event):void
{
    var xml:XML = new XML(event.target.data);

    n1_txt.text = xml.first.name1;
    s1_txt.text = xml.first.score1;

    /* or, you can use descendant accessor */

    n2_txt.text = xml..name2;
    s2_txt.text = xml..score2;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM