2012-01-06 6 views
1
<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, и я попытался в некотором роде, но я не могу получить Character DATA в качестве XML-данных.Как получить содержимое в формате CDATA в XML?

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

ответ

1

Я думаю, что вы используете 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
 <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][email protected]()); 
     } 

    ]]> 
</fx:Script> 

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

Смежные вопросы