//1. 加载外部XML文件
public function loadXML(fileURL:String):XML
{
var result:XML;
var f:File = new File(fileURL);
if ( f.exists ) {
try {
var fs:FileStream = new FileStream();
fs.open(f, FileMode.READ);
result = XML(fs.readUTFBytes(fs.bytesAvailable));
fs.close();
} catch (e:Error) {
}
}
return result;
}
//2.加载字符串的XML
var str:String = "<root></root>";
var xml:XML = new XML(xmlstr);
// 3.个人不建议用的方法:调用XML类,(以下实例以此MXL为样本):
var xml:XML = <root></root>
//遍历节点
for each(var xml:XML in configxml.children()){ var pagevo:PageVO = new PageVO(); pagevo.id = xml.@id; pagevo.type = xml.@type; //bgimage var bgimage:BgImageVO = new BgImageVO(); bgimage.id = xml.bgImage.@id;//bgImage节点的id属性 bgimage.content = xml.bgImage.toString(); pagevo.bgImage = bgimage; }
//遍历指定名称的节点
for each( var txtxml:XML in xml.child("text")){ var textvo:TextVO = new TextVO(); textvo.id = txtxml.@id; textvo.color = txtxml.@color; textvo.fontSize = txtxml.@fontSize; textvo.fontWeight = txtxml.@fontWeight; textvo.fontFamily = txtxml.@fontFamily; textvo.fontStyle = txtxml.@fontStyle; textvo.width = txtxml.@width; textvo.height = txtxml.@height; textvo.x = txtxml.@x; textvo.y = txtxml.@y; // textvo.index = txtxml.@index; textvo.content = txtxml.toString(); pagevo.textLst.addItem(textvo); }
//添加节点内容
var newXML:XML= <fen> <java>99</java> <delphi>86</delphi> <flex>93</flex> </fen>; //位于其它子节点尾部。 rootXML.student[0].appendChild(newXML); //位于其它子节点首部 rootXML.student[1].prependChild(newXML); //添加同级节点 newXML= <student> <name>西施</name> <sex>女</sex> <age>18</age> </student> //选择节点之前 rootXML.insertChildBefore(rootXML.student[0],newXML); //选择节点之后 rootXML.insertChildAfter(rootXML.student[1],newXML);
删除节点或属性 //删除节点 delete rootXML.student[0].sex; //删除属性 delete rootXML.student[0].@id;