ActionScript 3.0将节点添加到XML

问题描述

| 我有
<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);