我已经看了一些关于这个主题的相关帖子,但我无法弄清楚如何解决我的问题。我想这与星期一的事实有关。
嗯,这就是。我有一个XML对象包含:
<root>
<page>
<text>
<style properties=""/>
<label> Text one</label>
</text>
<text>
<style properties=""/>
<label> Text two</label>
</text>
</page>
<page>
<text>
<style properties=""/>
<label> Text three</label>
</text>
<text>
<style properties=""/>
<label> Text four</label>
</text>
</page>
</root>
我想用新的标签节点替换标签节点。我把新的一个放在XMLList中,但现在我仍然坚持用它来取代实际的节点。这就是XMLList的样子:
<page>
<text>
<style properties=""/>
<label> Replace the first one</label>
</text>
<text>
<style properties=""/>
<label> Replace the second one</label>
</text>
</page>
<page>
<text>
<style properties=""/>
<label> Replace the third one</label>
</text>
<text>
<style properties=""/>
<label> Replace the fourth one</label>
</text>
</page>
答案 0 :(得分:2)
一个简单的例子:
// xml = your XML object
xml.page[0].text[0].label = 'new text';
xml.page[0].text[1].label = 'new text 2';
trace (xml.toXMLString());
返回:
<root>
<page>
<text>
<style properties=""/>
<label>new text</label>
</text>
<text>
<style properties=""/>
<label>new text 2</label>
</text>
</page>
<page>
<text>
<style properties=""/>
<label>Text three</label>
</text>
<text>
<style properties=""/>
<label>Text four</label>
</text>
</page>
</root>
答案 1 :(得分:0)
您可以使用e4x获取XMMList,然后使用循环中的父函数或使用列表执行您想要的操作:
var r:XML=<root>
<page>
<text>
<style properties=""/>
<label>new text</label>
</text>
<text>
<style properties=""/>
<label>new text 2</label>
</text>
</page>
<page>
<text>
<style properties=""/>
<label>Text three</label>
</text>
<text>
<style properties=""/>
<label>Text four</label>
</text>
</page>
</root>;
var xl:XMLList=r.page.text.label;
// use the first element of the list
xl[0].parent().label="i do what i want";
var i:int=0;
// or loop over each elment if the list
for each (var xml:XML in xl){
xml.parent().label=i + " : " + xml.toString();
i++;
}