4,328
社区成员
发帖
与我相关
我的任务
分享
<root>
<node>
<id>1</id>
<name>node1</name>
</node>
<node>
<id>2</id>
<name>node2</name>
</node>
<node>
<id>3</id>
<name>node3</name>
<parentId>1</parentId>
</node>
<node>
<id>4</id>
<name>node4</name>
<parentId>3</parentId>
</node>
<node>
<id>5</id>
<name>node5</name>
<parentId>3</parentId>
</node>
</root>
<node id="1" name="node1">
<node id="2" name="node2"></node>
<node id="3" name="node3">
<node id="4" name="node4"></node>
<node id="5" name="node5"></node>
</node>
</node>
package com.zsmart.adapter
{
import mx.controls.Alert;
public class StaffOrgResultAdapter
{
public function StaffOrgResultAdapter()
{
}
public static function getResult(staffOrgResult:XML):XMLList
{
var apaterResult:XMLList;
if (staffOrgResult != null)
{
var staffOrgList:XMLList = staffOrgResult.child("RS_AREAS");
trace(staffOrgList.toXMLString());
trace("--------------------------------邪恶的分割线------------------------------");
trace(disXML("1",staffOrgList,null).toXMLString());
}
return apaterResult;
}
private static function disXML(pid:String,staffOrgList:XMLList,adapterStaff:XML):XML
{
if (adapterStaff == null)
{
adapterStaff = <root></root>;
}
for(var i:int=0;i<staffOrgList.length();i++)
{
var staffOrgXML:XML = staffOrgList[i] as XML;
var newStaffOrg:XML = <root/>;
if(pid == staffOrgXML.PARENT_ID)
{
newStaffOrg.setName(staffOrgXML.name());
newStaffOrg.@AREA_ID=staffOrgXML.AREA_ID;
newStaffOrg.@AREA_NAME = staffOrgXML.AREA_NAME;
//newStaffOrg.@PARENT_ID = staffOrgXML.PARENT_ID;
for(var j:int=0;j<staffOrgList.length();j++)
{
var otherstaffOrgXML:XML = staffOrgList[j] as XML;
if(otherstaffOrgXML.PARENT_ID == newStaffOrg.@AREA_ID)
{
var childStaffOrg:XML = disXML(newStaffOrg.@AREA_ID,staffOrgList,otherstaffOrgXML);
newStaffOrg.appendChild(childStaffOrg);
}
}
}
if (newStaffOrg!=<root/>)
{
adapterStaff.appendChild(newStaffOrg);
}
}
return adapterStaff;
}
}
}