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

flex解析xml文件和xml字符串的疑问

    博客分类:
  • flex
阅读更多
    最近在做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 楼 brighter 2012-08-22  
如果存在xmlns的话,flex中xml.child()方法将无法执行。也就是说你从数据库中查出来的XML,存在类似的:xmlns="urn:xbpm.org:xbpm4"

相关推荐

Global site tag (gtag.js) - Google Analytics