最近在做flex页面的时候,需要从后台数据库中查询出一些记录保存为xml格式传到flex页面,为了测试方便,我在后台方法没有提供的时候引入到页面一个xml文件来代替后台传来的数据。到后台开发完毕开始整合的时候发现自己悲剧了,同样的方法,同样的xml节点和结构,解析出来的子节点个数就是不正确,把我郁闷的不行。
经过反复测试:
1.var xml:XML = new XML("<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>");
2.var xml:XML = XML("<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>");
3.var xml:XML=<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>;
这三种方式和<fx:XML id="tabs" source="config1.xml"/>方式形成的xml解析的时候用(xml.child("componts")[0] as XML).child("compont").length()获取的节点数目都正确,但是从jsp页面传过来的xml类型字符串(转义符已经处理过)用该方法得到的节点数据死活都是1,让人很无奈。最终使用(xml.children()[0] as XML).children().length(); 和var pName = ((xml.children()[0] as XML).children()[0] as XML).attribute("name");获取节点数目和节点属性成功。对此有见解的朋友,欢迎一起交流。
经过反复测试:
1.var xml:XML = new XML("<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>");
2.var xml:XML = XML("<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>");
3.var xml:XML=<tab><componts name='基本信息'></componts><componts name='流转信息'></componts><componts name='附件汇总'></componts><componts name='流程图'></componts><componts name='流程互调信息'></componts></tab>;
这三种方式和<fx:XML id="tabs" source="config1.xml"/>方式形成的xml解析的时候用(xml.child("componts")[0] as XML).child("compont").length()获取的节点数目都正确,但是从jsp页面传过来的xml类型字符串(转义符已经处理过)用该方法得到的节点数据死活都是1,让人很无奈。最终使用(xml.children()[0] as XML).children().length(); 和var pName = ((xml.children()[0] as XML).children()[0] as XML).attribute("name");获取节点数目和节点属性成功。对此有见解的朋友,欢迎一起交流。