问题描述
|
我有
<myXML>
</myXML>
使用
myXML.appendChild(<bla>text</bla>);
我得到
<myXML>
<bla>text</bla>
</myXML>
但是如果\'text \'实际上是字符串变量中包含的内容,该怎么办?那么我如何添加具有一些以编程方式生成的内容的子节点?
所以我有:
var myXML:XML = <myXML><myXML>
var myString:String = \"Hello World\"
我想做类似的事情
myXML.appendChild(<bla>mySring</bla>);
怎么做?
解决方法
您还可以使用“ 5”表示法:
var myXML:XML = <myXML/>
var myString:String = \"Hello World\"
//...
myXML.appendChild(<bla>{myString}</bla>)
更新1:
如果要在字符串中使用“ 7”,可以将其转换为XML节点,然后将其添加到当前XML中:
var myXML:XML = <myXML/>
var myString:String = \"<![CDATA[Hello World]]>\"
//...
myXML.appendChild(<bla>{new XML(myString)}</bla>)
,您非常接近Mat,只是缺少要附加到以下节点的节点:
var myString:String = \'Hello World\';
//this does not work
//var xml:XML = <myXML>myString</myXML>;
//this works
var myXML:XML = <myXML />.appendChild(myString);
//test
trace(myXML,myXML.toXMLString());
如果存储在myString中的值直接进入XML声明而不需要appendChild,那将是很好的。
使用额外的节点(bla),您只需将字符串变量附加到该节点:
var myString:String = \'Hello World\';
var myXML:XML = <myXML><bla /></myXML>;
myXML.bla.appendChild(myString);
//test
trace(myXML);