2012-01-06 31 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數據獲取。如何讓內容出現在XML中的CDATA中?

這是否有任何方式在AS3中將CDATA轉換爲XML?

回答

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名稱