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 声明开头:
- 有且仅有一个根节点:Flex Web 应用用
,AIR 桌面应用用 - 所有标签都属于命名空间(如
mx:表示官方 Flex 组件库),不能随意省略或自定义前缀
MXML 能做什么,不靠写代码也能完成
- 布局管理:用
、、等容器组织控件 - 组件声明:比如
直接创建按钮实例,并赋予唯一标识符 - 数据绑定:通过
实现属性联动 - 非可视对象定义:如
或管理数据源
命名和文件规范要注意这些细节
- 文件名只能以字母或下划线开头,后接字母、数字、下划线,全部小写,扩展名必须是
.mxml - 不能叫
application.mxml—— 这个名字被框架保留,用它会编译报错 - 不能把目录命名为
mx—— 它是 Flex 官方命名空间,编译器会冲突 - 所有 ID、变量名需符合 ActionScript 规则:不能含空格、特殊符号,不能是关键字(如
class、function)
基本上就这些。MXML 不复杂但容易忽略细节,写对结构和命名,才能让编译器顺利把它变成可运行的界面逻辑。








