E4X教程[1] - 入门

简介: 基本语法如果启用了 E4X,基本的 XML 元素就是有效的语法。例如:var element = <foo/> 在开启了 E4X 的浏览器里完全有效。变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行。var element2 = <foo> <bar/>

基本语法

如果启用了 E4X,基本的 XML 元素就是有效的语法。例如:

var element = <foo/>

在开启了 E4X 的浏览器里完全有效。

变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行。

var element2 = <foo> <bar/> </foo>

此外,和一般的 XML 文档一样,你能给一个元素指定属性。

var element3 = <foo baz="1"/>

操作元素

E4X 的目标是为 JavaScript 程序员提供一个简单的方法来操作 XML 文档,而无需通过 DOM 接口。不过,很多你在 DOM 中用过的函数也能用到 E4X 中。最基本的就是 appendChild:

var element1 = <foo/> var element2 = <bar/> element1.appendChild(element2);

它会产生你期望的正确的 XML 文档:

<foo> <bar/> </foo>

JavaScript 变量

当 XML 文档需要和 JavaScript 做紧密交互时,E4X 真正强大的地方才得以彰显。通过特定的语法,我们能将 JavaScript 变量的值赋给 E4X 元素。这是用大括号({})标记。

var a = 2; var b = <foo>{a}</foo>;

创建了一段 XML 文档,内容为 <foo>2</foo>。

你也可以将大括号标记用于元素的属性(名字或值)。例如:

var a = 2; var b = 'bar'; var c = <foo {b}={a}>"hi"</foo>;

创建的 XML 稍有不同:<foo bar="2">"hi"</foo>。

注意:XML 元素只接受文本作为他们的值。大括号标记真正发生的是调用变量的 toString 方法,并将返回值填到相应位置。例如:

var a = {foo: 1}; var b = <bar>{a}</bar>

实际上产生的文档是 <bar>[object Object]</bar>。

在内容中使用内联函数

虽然大括号限定执行单条语句,但通过匿名函数内联可以执行一些额外的处理:

var a = 'foo'; var b = <bar>{function () {var c = a.toUpperCase(); var d = 5 * 5; return c + d;}()}</bar>

上述代码产生:<bar>FOO25</bar>

该用法更多的讨论请参加 E4X for templating

序列化

E4X 最强大的工具就是简单地调用 .toXMLString() 就可以将整个 XML 文档(或其中部分)序列化到字符串中。

var element1 = <foo/>; var element2 = <bar/>; element1.apppendChild(element2); element1.toXMLString();

输出为:

<foo> <bar/> </foo>

本例使用 toString() 也能达到相同效果,不过在一个只有文本内容的元素上调用 toString() 将之产生文本内容(例如,<foo>abc</foo>.toString(); 会只产生 'abc')。


为方便其他朋友提问和指正,转载是请保持文章完整性,并以超链接形式注明原始作者“redraiment ”和主站点 地址,谢谢。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com
我的CSDN博客(梦婷轩 ):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩 ):http://hi.baidu.com/redraiment

目录
相关文章
|
网络安全 网络虚拟化 数据安全/隐私保护
教程 - EasyConnect 的使用
下载和安装 自动安装组件失败,请手动 EasyConnectInstaller.exe EasyConnect下载链接 //后面的IP是服务端的IP地址,如果是域名直接在IP处填写域名 M5.0-M7.0版本: https://IP/com/install.exe M7.1之后版本: https://IP/com/EasyConnectInstaller.exe 登录异常,请下载 SSL VPN 诊断修复工具 进行修复 http://download.sangfor.com.cn/download/product/sslvpn/SangforHelperToolInstaller.exe 作
2832 0
|
6月前
|
Unix C语言 C++
|
6月前
|
缓存 监控 安全
Enge问题解决教程
Enge问题解决教程
67 0
|
运维 监控 Java
SpringBootAdmin极简教程
SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。
238 0
SpringBootAdmin极简教程
|
前端开发 中间件 C#
(1)入门MasaFramework教程
(1)入门MasaFramework教程
210 0
|
存储 自然语言处理 搜索推荐
luncne 教程
Lucene是一套用于全文检索和搜寻的开源程序库,提供了一个简单却强大的应用程序接口(API),能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具
luncne 教程
|
Web App开发 缓存 网络协议
fildder教程
原文:fildder教程 转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍   Fiddler的官方网站:  www.fiddler2.com       Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowledgebase/quickexec   Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。
1531 0
|
Web App开发 缓存 网络协议