E4X中是否有一种方法可以将原始数据类型的XMLList转换为Array?
例如,Array类具有join方法,该方法将Array转换为字符串,并使用join(",")
用逗号分隔每个项目。有没有办法对XMLList做类似的事情?
例:
var xmlList:XMLList = new XMLList();
xmlList[0] = "Hello";
xmlList[1] = "World";
var myItems:String = xmlList.join(","); // there is no join method in E4X
var anArray:Array = myItems.split(",");
最佳答案
我认为最简单的方法是将您的XMLList
对象转换为数组,然后使用Array.join()
这样的操作:
var xml:XMLList = new XMLList();
xml[0] = 'hello';
xml[1] = 'world';
trace(xml.toXMLString().split('\n').join(',')); // gives : hello,world
当然,您必须在此处根据您的操作系统设置正确的换行符(
\n
,\r
或\r\n
)。您也可以使用
XMLList.prototype
添加join()
功能:XMLList.prototype.join = function(sep:String = ','):String {
var str:String = '';
for(var i:int = 0; i < this.length(); i++){
str += this[i] + sep;
}
return str.slice(0, -1); // the String.slice() is used to remove the last ','
}
trace(xml.join(',')); // gives : hello,world
我只是想给您一些做您想做的事的方式。
希望能对您有所帮助。