如何将一个xml对象值从一个xml对象复制到另一个空xml对象。
我有一个来自xml数组的xml对象,需要将其复制到另一个xml对象。 如何将xml从一个对象复制到另一个对象
如果使用 for loop 解析 XML对象,我会得到节点
var myXML:xml = new xml();
for(...)
if(xmlObj.product[i].name == 'myproduct'){
/// copy this to 'myXML' xml object .. how??
}
trace(myXML)
答案 0 :(得分:2)
尝试类似:
var newXml:XML = new XML(oldXml.toXMLString());
答案 1 :(得分:2)
使用AS3的E4X功能,我可能会这样做。
private function copyMyProductXMLNodes():void
{
var xmlObj:XML = <productList><product name="notMyProduct">product 1</product><product name="myProduct">product 2</product><product name="notMyProduct">product 3</product><product name="myProduct">product 4</product></productList>;
var myXML:XML = <myProductList></myProductList>;
for each(var productItem:XML in xmlObj.product)
{
if(productItem.@name == 'myProduct')
{
myXML.appendChild(productItem.copy());
}
}
trace(myXML.toXMLString())
}
我使用XML文字实例化myXML var,而不是将其保留为新的XML(),因为appendChild方法在具有顶级节点之前不能将任何内容附加到XML对象。
我很乐意在此代码中添加更多评论,如果这样会有所帮助的话。请告诉我。