Mxml是adobe flex和aiR中用于定义ui及非可视化结构的专用XML标记语言,本质为可编译的界面描述,经编译生成actionscript类和SWF字节码,需遵循XML声明、单根节点、命名空间等结构规范。

MXML 是 Adobe Flex 和 AIR 应用中专门用于定义用户界面和非可视化结构的 XML 标记语言。它不是通用 XML,而是为富客户端开发定制的声明式语言,核心作用是快速搭建布局、配置组件、绑定数据、声明服务连接等。
MXML 的本质是“可编译的界面描述”
每个 .mxml 文件在编译时都会被 Flex 编译器(mxmlc 或 amxmlc)转换成一个 ActionScript 类,再进一步生成 SWF 字节码。所以它既是标记语言,也是面向对象开发的一环——你写的标签,本质上是在实例化 Flex 框架中的 AS 类。
MXML 文件必须满足的基本结构要求
- 以标准 XML 声明开头:
<?xml version="1.0" encoding="utf-8"?> - 有且仅有一个根节点:Flex Web 应用用
<application></application>,AIR 桌面应用用<windowedapplication></windowedapplication> - 所有标签都属于命名空间(如
mx:表示官方 Flex 组件库),不能随意省略或自定义前缀
MXML 能做什么,不靠写代码也能完成
kgogoprime
0
KGOGOMall 是一套采用 Php + MySql 开发的基于 WEB 应用的 B/S 架构的B2C网上商店系统。具有完善的商品管理、订单管理、销售统计、新闻管理、结算系统、税率系统、模板系统、搜索引擎优化,数据备份恢复,会员积分折扣功能,不同的会员有不同的折扣,支持多语言,模板和代码分离等,轻松创建属于自己的个性化用户界面。主要面向企业和大中型网商提供最佳保障,最大化满足客户目前及今后的独立
0 - 布局管理:用
<vbox></vbox>、<hbox></hbox>、<grid></grid>等容器组织控件 - 组件声明:比如
<button label="保存" id="saveBtn"></button>直接创建按钮实例,并赋予唯一标识符 - 数据绑定:通过
<binding source="{data.name}" destination="{label.text}"></binding>实现属性联动 - 非可视对象定义:如
<httpservice id="svc" url="/api/users"></httpservice>或<xmllistcollection></xmllistcollection>管理数据源
命名和文件规范要注意这些细节
- 文件名只能以字母或下划线开头,后接字母、数字、下划线,全部小写,扩展名必须是
.mxml - 不能叫
application.mxml—— 这个名字被框架保留,用它会编译报错 - 不能把目录命名为
mx—— 它是 Flex 官方命名空间,编译器会冲突 - 所有 ID、变量名需符合 ActionScript 规则:不能含空格、特殊符号,不能是关键字(如
class、function)
基本上就这些。MXML 不复杂但容易忽略细节,写对结构和命名,才能让编译器顺利把它变成可运行的界面逻辑。