कैसे इस बारे में:
var xml:XML = <doc><{nodeName}>{nodeValue}</{nodeName}></doc>
trace(xml.toXMLString());
आउटपुट:
<doc>
<tag><non-escaped-content></tag>
</doc>
मैं मानता, इस CDATA
नहीं है, लेकिन मैं एक समस्या नहीं दिख रहा है ... पार्स थोड़ा और समय की आवश्यकता है, लेकिन OTOH, सही बहुत CDATA
से अधिक मजबूत बचने ...
XMLNode
साथ संस्करण flash.xml
पैकेज, जिसके लिए है का उपयोग करता है AS2 के साथ संगतता के पीछे की ओर ... यहां तक कि नोटिस नहीं किया, यह FP10 के तहत चला गया था ... फिर भी, आप एक प्रतिस्थापन के रूप में इस
var x:XML = new XML("<![CDATA[" + nodeValue + "]]>");
इस्तेमाल कर सकते हैं और उसके बाद के रूप में आप flash.xml के साथ होता appendChild
का उपयोग .. ।
वैकल्पिक रूप से आप यह E4X शैली इस्तेमाल कर सकते हैं, यदि आप इसे एक समारोह में लपेट
function cdata(data:String):XML {
return = new XML("<![CDATA[" + data + "]]>");
}
और फिर
var xml:XML = <doc><{nodeName}>{cdata(nodeValue)}</{nodeName}></doc>
लेकिन व्यक्तिगत रूप से, मुझे लगता है कि तार, कि दोनों पाठ आधारित है और अपेक्षाकृत कम कर रहे हैं, भाग निकले किया जाना चाहिए, न कि उसके बाद CDATA
में लिपटे ...
अद्यतन: मैं अपनी बात नहीं मिलता यहाँ
"<"
is very different than a "<"
है कि क्या पूरी बात के बारे में ...: डी ... "<"
, पार्स करने के दौरान दर्शाया जाएगा जबकि "<"
है बस r "<"
पर econverted, तो एक्सएमएल पार्स करने के बाद, आपके पास ठीक पहले जैसा ही स्ट्रिंग होगा ...
इस
मेरी कोड है:
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
public function Main():void {
var nodeName:String = "tag";
var nodeValue:String = "<non-escaped-content>";
var xml:XML = <doc><{nodeName}>{cdata(nodeValue)}</{nodeName}></doc>;
trace(cdata("test").toXMLString());
trace(xml.toXMLString());
}
private function cdata(data:String):XML {
return new XML("<![CDATA[" + data + "]]>");
}
}
}
फ़्लैश प्लेयर 10, फ्लेक्स एसडीके 4 के साथ संकलित पर मेरे लिए पूरी तरह से काम करता है ... हाथ में एक फ्लैश आईडीई की जरूरत नहीं है, लेकिन जब यह शुद्ध ActionScript की बात आती है परिणाम लगभग निश्चित रूप से वही हैं, इसलिए इसे काम करना चाहिए (यदि आप चाहें तो आप इसे अपने दस्तावेज़ वर्ग के रूप में उपयोग कर सकते हैं, या बस इसे तुरंत चालू कर सकते हैं) ...
btw। पहले का पता लगाने से पता चलता है, दूसरा उदाहरण काम करता है कि, है, जो भी काफी स्पष्ट है के बाद से new XML(<String>)
देशी XML
दिया स्ट्रिंग से एक XML
बनाने के लिए पार्सर का उपयोग करता है ...
यहाँ क्या ऊपर उत्पन्न करता है:
<![CDATA[test]]>
<doc>
<tag><![CDATA[<non-escaped-content>]]></tag>
</doc>
काम करता है मेरे लिए काफी अच्छा ... :)
greetz
वापस 2dos
उत्तर अद्यतन ... नमस्कार – back2dos