Actionscript 3 CDATA不支持从XMLList读取数据

Actionscript 3 CDATA不支持从XMLList读取数据,actionscript-3,flash-cs5,Actionscript 3,Flash Cs5,XML: <catering> <contents> <![CDATA[ <title>UPCOMING EVENTS</title> <info _title = "<font size='14' color='#ffffff'>title1</font" image="null"></info>

XML:

  <catering>
        <contents>
        <![CDATA[
            <title>UPCOMING EVENTS</title>
            <info _title = "<font size='14' color='#ffffff'>title1</font" image="null"></info>
            <info _title = "title2" image="images/events/slide1.jpg"></info>
            <info _title = "title3 " image="images/events/slide2.jpg"></info>
            <info _title = "title4" image="images/events/slide3.jpg"></info>
            <info _title = "title5" image="images/events/slide4.jpg"></info>
            ]]
        </contents>
    </catering>

即将举行的活动
]]
代码

 eventTitle = loadXMLC.events_1_Contents.contents.title;
 xmlList_1 = loadXMLC.events_1_Contents.contents.info;
 for(i = 0;i < xmlList_1.@_title.length(); i++)
 {
    events_0_info.push(xmlList_1.@_title[i]);
    img_ary0.push(xmlList_1.@image[i]);

 }
eventTitle=loadXMLC.events\u 1\u Contents.Contents.title;
xmlList_1=loadXMLC.events_1_Contents.Contents.info;
对于(i=0;i
如果没有CDATA,我就可以读取XML。使用CDATA读取数据需要做什么


我想对每个属性使用html标记。

我想这是因为您在关闭
CDATA
标记时输入了错误。尝试在末尾添加
,如下所示:

<catering>
    <contents>
        <![CDATA[
            <title>UPCOMING EVENTS</title>
            <info _title = "<font size='14' color='#ffffff'>title1</font" image="null"></info>
            <info _title = "title2" image="images/events/slide1.jpg"></info>
            <info _title = "title3 " image="images/events/slide2.jpg"></info>
            <info _title = "title4" image="images/events/slide3.jpg"></info>
            <info _title = "title5" image="images/events/slide4.jpg"></info>
        ]]>
    </contents>
</catering>

下面是一个快速示例:

var data : XML = <catering>
    <contents>
        <![CDATA[
        <title>UPCOMING EVENTS</title>
        <info _title = "title2" image="images/events/slide1.jpg"></info>
        <info _title = "title3 " image="images/events/slide2.jpg"></info>
        <info _title = "title4" image="images/events/slide3.jpg"></info>
        <info _title = "title5" image="images/events/slide4.jpg"></info>
        ]]>
        </contents>
    </catering>;
var数据:XML=
即将举行的活动
]]>
;
CDATA标记之间的节点被视为文本(一块文本)。您必须将此文本转换为有效的XML才能访问数据

trace(XML(data.contents.children()).nodeKind());//text
var contents : XMLList = XML("<c>"+data.contents.toString()+"</c>").children();
trace(contents.toXMLString());
trace(XML(data.contents.children()).nodeKind())//文本
var contents:XMLList=XML(“+data.contents.toString()+”).children();
跟踪(contents.toXMLString());
我从您的样本中删除了这一行:

<info _title = "<font size='14' color='#ffffff'>title1</font" image="null"></info>


Flash无法将这一行转换为XML…

我是否无法使用html标记访问?如果我理解您的问题:我认为您不能将html标记放入XML中的标记属性中…我稍微调整了我的答案。我没有真正测试解析,我的错。对不起,我不太清楚你对
HTML标记的意思。您的元素不包含任何元素。
<info _title = "<font size='14' color='#ffffff'>title1</font" image="null"></info>