浏览 3442 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-26
需求是这样的: 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:flex="http://www.adobe.com/2006/fc" layout="absolute" creationComplete="startup()"> <flex:SpringGraph id="springGraph" bottom="0" top="0" right="0" left="0" backgroundColor="#666666" dataProvider="{graph}" itemRenderer="myItemRenderer"/> <mx:Script> <![CDATA[ import com.adobe.flex.extras.controls.springgraph.Graph; import mx.controls.Alert; private var graph:Graph = new Graph(); private var nodeArr:Array = new Array(); private var edgeArr:Array = new Array(); //初始化 public function startup():void{ loadXml(); Alert.show("nodeArr length:" + nodeArr.length);//nodeArr length:0(疑惑的地方) Alert.show("edgeArr length:" + edgeArr.length);//edgeArr length:0(疑惑的地方) } //加载xml文件 public function loadXml():void{ var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; loader.addEventListener(Event.COMPLETE,createArr);//注入createArr方法 loader.load(new URLRequest("cfg/myItemLine.xml")); } //遍历xml文件,并未nodeArr、edgeArr赋值 public function createArr(event:Event):void{ var x:XML = new XML(event.target.data); for(var nodeStr:String in x.Node){ var id:String = x.Node[nodeStr].@id; var name:String = x.Node[nodeStr].@name; var ip:String = x.Node[nodeStr].@ip; var netno:String = x.Node[nodeStr].@netno; var node:Node = new Node(); node.setId(id); node.setName(name); node.setIp(ip); node.setNetno(netno); nodeArr.push(node); } for(var edgeStr:String in x.Edge){ var fromId:String = x.Edge[edgeStr].@fromId; var toId:String = x.Edge[edgeStr].@toId; var fromNetno:String = x.Edge[edgeStr].@fromNetno; var toNetno:String = x.Edge[edgeStr].@toNetno; var edge:Edge = new Edge(); edge.setFromId(fromId); edge.setToId(toId); edge.setFromNetno(fromNetno); edge.setToNetno(toNetno); edgeArr.push(edge); } Alert.show("nodeArr length:" + nodeArr.length);//nodeArr length:11(正确的地方) Alert.show("edgeArr length:" + edgeArr.length);//edgeArr length:12(正确的地方) } ]]> </mx:Script> </mx:Application>
xml文件如下: <?xml version="1.0" encoding="utf-8"?> <graph> <!-- 节点 --> <Node id="0" name="设备11" ip="192.168.10.101" netno="1"/> <Node id="1" name="设备12" ip="192.168.10.102" netno="1"/> <Node id="2" name="设备13" ip="192.168.10.103" netno="1"/> <Node id="3" name="设备21" ip="192.168.20.101" netno="2"/> <Node id="4" name="设备22" ip="192.168.20.102" netno="2"/> <Node id="5" name="设备31" ip="192.168.30.101" netno="3"/> <Node id="6" name="设备32" ip="192.168.30.102" netno="3"/> <Node id="7" name="设备41" ip="192.168.40.101" netno="4"/> <Node id="8" name="设备42" ip="192.168.40.102" netno="4"/> <Node id="9" name="设备51" ip="192.168.50.101" netno="5"/> <Node id="10" name="设备52" ip="192.168.50.102" netno="5"/> <!-- 关系 --> <Edge fromId="0" toId="1" fromNetno="1" toNetno="1"/> <Edge fromId="0" toId="2" fromNetno="1" toNetno="1"/> <Edge fromId="1" toId="2" fromNetno="1" toNetno="1"/> <Edge fromId="0" toId="1" fromNetno="2" toNetno="2"/> <Edge fromId="0" toId="1" fromNetno="3" toNetno="3"/> <Edge fromId="0" toId="1" fromNetno="4" toNetno="4"/> <Edge fromId="1" toId="3" fromNetno="1" toNetno="2"/> <Edge fromId="2" toId="5" fromNetno="1" toNetno="3"/> <Edge fromId="2" toId="8" fromNetno="1" toNetno="4"/> <Edge fromId="5" toId="8" fromNetno="3" toNetno="4"/> <Edge fromId="9" toId="10" fromNetno="5" toNetno="5"/> <Edge fromId="4" toId="9" fromNetno="2" toNetno="5"/> </graph>
本人是flex新手,请XDJM帮忙解答疑惑,不甚感激,谢谢了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-26
不甚感激,就是不是很感激的意思。
|
|
返回顶楼 | |
发表时间:2008-07-27
没人解答吗?
|
|
返回顶楼 | |