Как заставить содержимое появляться в CDATA в XML? - PullRequest
1 голос
/ 06 января 2012
<EventDays>
    <EventDaysInfo year = "2012" month = "0">
    <![CDATA[<Days day="0" name="sdfds" desc="fgfds"  _img=""/>]]>
    <![CDATA[<Days day="0" name="sdf" desc=""  _img=""/>]]>
    <![CDATA[<Days day="0" name="dsf" desc="dsfd"  _img=""/>]]>
        .....
        .....

Это структура моего XML, и я пытался каким-то образом, но я не могу получить символьные данные в виде данных XML.

Это какой-либо способ конвертировать CDATA в XMLв AS3?

Ответы [ 2 ]

1 голос
/ 06 января 2012

Я думаю, что вы используете CDATA совершенно неправильно. это говорит парсеру, что следующее содержимое не содержит разметки (в пределах nodeValue), например:

<node attr="abc"><![CDATA[here is line 1<br/>and a linebreak and btw 1 > 0]]></node>

в противном случае парсер подумает, что <br/> или > принадлежат структуре xml ... и я думаю, что вы можете иметь только 1 CDATA-часть на узел.

в вашем случае вы можете просто удалить все CDATA.

0 голосов
/ 06 января 2012
        <EventDays>
            <EventDaysInfo year = "2012" month = "0">
                <![CDATA[<Days day="0" name="sdfds" desc="fgfds"  _img=""/>]]>
                <![CDATA[<Days day="0" name="sdf" desc=""  _img=""/>]]>
                <![CDATA[<Days day="0" name="dsf" desc="dsfd"  _img=""/>]]>
            </EventDaysInfo>
        </EventDays>


<fx:Script>
    <![CDATA[
        import mx.controls.Alert;
        import mx.events.FlexEvent;

        protected function XML_NameReader():void
        {

            var xml:XML=new XML("<root>"+XML_Name.EventDaysInfo+"</root>")
            Alert.show(xml.children().toString());
            Alert.show(xml.children()[0].toXMLString());
            Alert.show(xml.children()[0].@name.toString());
        }

    ]]>
</fx:Script>

Попробуйте этот код. XML_Name - это имя xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...