我正在使用XML的as3项目。我将xml对象复制到其他(newxml = oldxml)时遇到问题,文本被复制但是如果我从oldxml中删除了一些节点它会自动删除复制变量(newxml)中的节点。
删除节点的代码:
for each( node in xmlold.links.slidelink.(@displaytext.toLowerCase().indexOf(this.searchbar.text.toLowerCase())<0))
{
var index = node.childIndex();
delete xmlold.links.slidelink[index];
}
this.display.text=xmlnew.toString();
现在,当我显示文本时,如果“xmlnew”它会在删除文本之后给出输出,这是不需要的
Xml看起来像:
<outline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<links>
<slidelink slideid="_player" displaytext="Headd" <slidelink slideid="5pnZ9Eziqq4" displaytext="Relationship" expand="true" type="slide"/>
<slidelink slideid="vgVg68B" displaytext="Temperature Relationship" expand="true" type="slide"/>
<slidelink slideid="_player" displaytext="Viscosity" expand="true" type="slide"/>
</links>
</outline>
请检查问题您的帮助将非常感谢
答案 0 :(得分:1)
复制XML结构的最佳方法是使用XML/copy()
,这正是它的用途。
var newXML:XML = oldXML.copy();
答案 1 :(得分:0)
newxml=oldxml
不会复制,它只是说&#34; newxml与oldxml&#34;相同。
您需要newxml = new XML (oldxml);
作为起点尝试:
var newxml : XML = new XML ( oldxml.toXMLString() );