可以使用XML类或XMLList类的相关方法,修改加载的XML对象。例如,对于XML文件“sio.xml”,其中包含如下格式的文本:
//sio.xml
<xml>
<def id='imglink' src='napa.jpg'>
click to view the Pix
</def>
<ioo id='iid'>iotext here</ioo>
</xml>
加载上述文件之后,可以对加载项进行如下操作:
(1)在特定位置添加项目。使用XML类的使用insertChildBefore()方法或insertChildAfter()方法向指定位置添加项目。
var x2:XML=<ert src='dio.txt'>view the info</ert>;
myXML.insertChildAfter(myXML.def,x2);
insertChildAfter()语句将会在第一个参数标识的XML项目后添加新的项目,修改后的XML文件如下:
<sxml>
<def id="imglink" src="napa.jpg">click to view the Pix</def>
<ert src="dio.txt">view the info</ert>
<ioo id="iid">iotext here</ioo>
</sxml>
(2)为节点添加属性。直接使用“@”标识需添加的属性,并利用“=”符号追加新的值。添加属性不需要new关键字,其操作和为动态类对象添加成员相似。
myXML.ioo.@src="lolikon";
myXML["def"].@bik=true;
myXML.ioo.@id="newid";
执行后,XML对象的内容如下:
<sxml>
<def id="imglink" src="napa.jpg" bik="true">click to view the Pix</def>
<ioo id="newid" src="lolikon">iotext here</ioo>
</sxml>
如果属性已经存在,则会用新值替换原有的值。新值可以与原有值拥有不同的数据类型。
(3)添加子节点。可以直接书写子节点的路径,并为其赋值。XML对象会自动创建所需的节点。这种方法也适用于添加属性。新添加的节点将追加在该层XML结构的末尾处。
myXML.uyt.bik.@src="add new";
myXML.uyt.edd="2nd new";
myXML.def.sHErp.@sHaRd="K.K.E.D.";
代码将创建多个节点和中间节点。修改后的XML对象如下:
<sxml>
<def id="imglink" src="napa.jpg">
click to view the Pix
<sHErp sHaRd="K.K.E.D."/> //新添加的节点
</def>
<ioo id="iid">iotext here</ioo>
<uyt> //自动添加的中间节点
<bik src="add new"/> //新添加的节点和属性
<edd>2nd new</edd> //新添加的节点
</uyt>
</sxml>