`
jickcai
  • 浏览: 239327 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex4 解析XML 例子

    博客分类:
  • flex
XML 
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="100%" height="100%"
initialize="init()">
<fx:Script>
<![CDATA[
import mx.collections.Sort;
import mx.collections.SortField;
import mx.collections.XMLListCollection;
private var _projectsXML:XML=<projects>
<project id="1" name="Proj1">
<task id="1">
<name>Understand E4X</name>
<notes>cool, for XML anyway</notes>
</task>
<task id="2">
<name>Learn XMLList</name>
<notes>simple</notes>
</task>
</project>
<project id="2" name="Proj2">
<task id="3">
<name>Learn XMLListCollection</name>
</task>
<task id="4">
<name>Get a coffee</name>
<notes>very necessary</notes>
</task>
</project>
</projects>;
private function init():void
{
var output:String="";
output+="Full XML:\n"+_projectsXML;
output+="\nUsing E4x and XMLList:\n";
output+=_projectsXML.project[0].task[0].name+"\n";
output+=_projectsXML.project.(@name=="Proj2").task.(@id==3).name+"\n";

var projects:XMLList=_projectsXML.children();
for each(var project:XML in projects){
output+="Project:"+project.@name+"\n";
for each(var task:XML in project.task)
{
output+="Task "+task.@id+":"+task.name;
if(task.hasOwnProperty('notes')){
output+="("+task.notes+")";
}
output+="\n";
}
}

output+="\nLearning XMLListCllection and Sorting:\n";
var allTasks:XMLListCollection=new XMLListCollection(_projectsXML.descendants("task"));
var sort:Sort=new Sort();
sort.fields=[new SortField("name",true)];
allTasks.sort=sort;
allTasks.refresh();

for each(var sortedTask:XML in allTasks)
{
output+=sortedTask.name+"\n";
}
outputTA.text=output;
}
]]>
</fx:Script>
<s:TextArea id="outputTA" width="100%" height="100%"/>
</s:Application>
分享到:
评论
1 楼 cnfnidt 2014-08-28  
wwwwwwwwww

相关推荐

Global site tag (gtag.js) - Google Analytics