首页 > 开发 > Xml > 正文

19.4.添加一个XMLList到XML对象

2023-07-12 18:51:55
字体:
来源:转载
供稿:网友
19.4.1. 问题
如何追加一个XMLList 对象到XML 对象的节点里?
19.4.2. 解决方法
使用E4X 表达式, 找出需要追加的XMLList 对象所在的节点, 然后在该节点上调用appendChild 方法。
19.4.3. 讨论
通过使用XML 类的appendChild 方法, 你可以直接添加一个XMLList 到一个XML 对象或另一个XMLList 对象里。例如说下列的XML 对象:
+展开
-ActionScript
var xmlNode:XML = <data>
<item id="1"/>
<item id="2"/>
<item id="3"/>
</data>

然后, 对新的节点调用appendChild 方法
+展开
-ActionScript
var newXML:XML = <item id="4"/>
xmlNode.appendChild(newXML);

会得出以下结果:
+展开
-ActionScript
var xmlNode:XML = <data>
<item id="1"/>
<item id="2"/>
<item id="3"/>
<item id="4"/>
</data>

新节点会被添加到XML 对象的根节点。你可以在XML 对象内对任何节点调用appendChild方法。
代码如下:
+展开
-ActionScript
var list:XMLList = new XMLList('
<characteristic name="cuts through metal"/>
<characteristic name="never dulls"/>
<characteristic name="dishwasher safe"/>
<characteristic name="composite handle"/>');
var node:XMLList = xmlNode.item.(@id == 3);
node.appendChild(list);
}

要把一个XMLList 的项目添加到另一个里面, 你可以对原列表使用循环回圈, 把原来的索引值分配到另一个XMLList 里。
+展开
-ActionScript
var newXML:XMLList = new XMLList();
for(var i:int = 0; i<list.length(); i++) {
newXML[i] = list[i];
}

如果newXML 的类型为XML, 这个方法是不可行的。通过使用appendChild 方法, 对列表进行循环, 可以从列表里添加某个或所有项目。
var newXML:XML = <data></data>;
for(var i:int = 0; i<list.length(); i++) {
newXML.appendChild(list[i]);
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表