E4X是2004年发布的ECMA-357标准,允许JavaScript直接以字面量形式处理XML,支持点号语法、动态操作和序列化,但仅Firefox 1.5–21原生支持,现已被弃用。
E4X(ECMAScript for XML)是 JavaScript 的一个官方扩展标准(ECMA-357),发布于 2004 年,目标是让开发者能像操作普通对象一样直接处理 XML 数据,无需依赖 DOM API 或外部解析器。
E4X 允许你用类似 HTML 的语法直接在 JS 中写 XML 结构,它会被识别为原生 XML 对象:
var config = ;
typeof config === "xml")西游记
不用 XPath 表达式或 getElementsByTagName,用点号和特殊符号就能精准定位:
config.server.@port → 获取属性值 "8080"
config..title → 后代运算符,匹配所有 节点(返回 XMLList)config.* → 通配符,获取所有子元素config.server.(@port == "8080") → 带条件过滤的节点集合
操作 XML 内容增删改查都像操作数组或对象一样直观:
config.database += admin ;
config.server.@port = "9000";
config.server = ;
config.toXMLString() 返回格式化 XML 字符串E4X 功能强大,但实际落地需谨慎: