mxml组件元素提取
来源:互联网 发布:大富豪web源码 论坛 编辑:程序博客网 时间:2024/05/20 19:49
开发快速平台的需要我们解析mxml组件,虽然可以把mxml的文件当xml文件解析,但是还是与一般的xml解析存在这差
异。现在我主要讲解下我在解析mxml一些思路。
开始时我也是当xml文件来解析,但是碰到了很多问题,我用的是dom4j。部分代码如下:(错误做法)
for (Iterator iteriner =root.elementIterator(); iteriner.hasNext();-) {Element element=(Element) iteriner.next();if(element.attributeIterator().equals("Label")){Attribute textAttr=element.attribute("text");if(textAttr.getValue()/!=null){String text=textAttr.getValue(); if(text/!=null&&text.equals("")){hm.put(element.getName()+textAttr.getName(), text); } } } if(element.getName().equals("Tree")) { Attribute idAttr=element.attribute("id"); Attribute dataAttr=element.attribute("dataProvider"); if(idAttr.getValue()!=null) { String id=idAttr.getValue(); String data=dataAttr.getValue(); if(id!=null&&id.equals("")&&data!=null&&data.equals("")) { hm.put(element.getName()+idAttr.getName()+dataAttr.getName(), id+data); } } } } } catch (DocumentException e){ // TODO Auto-generated catch block e.printStackTrace(); } }
最后发现是由于有命名空间的问题,当我使用QName解析了命名空间时,又发现所有的mxml是有前缀<mx:的。最后我不
得不另外有其他的办法。代码如下:
document = saxReader.read(new File(filename));Element root = document.getRootElement();QName qname = root.getQName();for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {Element element = (Element) iterator.next();QName qname1 = element.getQName();//System.out.println(qname1.getQualifiedName());for (Iterator iterator2 = element.attributes().iterator(); iterator2.hasNext();) {Attribute attribute=(Attribute) iterator2.next(); str.add(attribute.getText());
结果成功解析了mxml所有的组件信息。但是对于动态传文件名给read方法(肯定是不能写死)也让我很不爽,插件开发不
能直接调用file.getpath()等方法(图片也不行),必须依靠activator这个类的方法。也可以写事件对用户点击鼠标的事件
进行监听。反正目标是实现对用户选择的mxml文件动态解析。
- mxml组件元素提取
- 自定义的组件中加入多个MXML标记的子UI元素
- Flex3引用自定义MXML组件
- mxml中动态生成组件
- mxml中加载简单自定义组件
- flexMarquee 组件flexMarquee.mxml的代码:
- flex自定义组件(mxml文件)
- flex自定义组件(mxml文件)
- MXML
- MXML
- 创建扩展组件学习笔记---创建简单MXML组件
- 创建扩展组件学习笔记---创建高级MXML组件
- Flex自定义组件和mxml默认组件混合使用
- 构建自定义组件 -- 在MXML 中构建组件
- mxml调用另一个mxml 实现在窗体内弹出对话框 (TitleWindow组件)
- 一、从简单MXML组件中处理事件
- 决定用MXML还是用Actionscript创建组件
- Flex 3入门教程: 在 MXML 中构建自定义组件
- 在某一磁盘目录下将.txt的所有文件遍历打印到控制台上
- bboss aop 远程服务介绍-点对点远程服务调用和组播服务调用的区别
- 以管理员权限运行此程序_vista
- bboss aop 远程服务介绍-网络环境
- javascript + DHTMl 画图(3)
- mxml组件元素提取
- 打开页面时光标自动在输入框
- Linux下的一些常用命令
- JFreeChart 画饼状图 颜色 字体 样式的设置
- Ubuntu web sites
- Oracle恢复(密码修改)
- 学习dotnet技术
- 2008年度最佳开源软件大奖
- ubuntu 软件安装卸载