E4X教程[5] - 全局 XML 对象
全局 XML 对象
E4X-capable JavaScript 引擎在全局对象上放了一个新的属性。XML 对象有许多属性允许你定制解析和序列化 E4X。XML 元素从他们创建开始就记住 XML 对象的设置。
扩展 XML.prototype
XML.prototype 和 XMLList.prototype(XMLList.prototype 实际上就是 XML.prototype)不能像其他构造器(例如 Object)一样扩展。你只能在 XML.prototype 里定义方法,而不能定义字段。要向 XML.prototype 添加一个方法,则要定义 XML.prototype.function::methodName 或 XML.prototype.funciton::[methodNameString]。下例定义 fooCount() 方法,返回 XML 中 <foo> 元素的个数:
XML.prototype.function::fooCount = function fooCount() { return this..foo.length(); }; <foobar><foo/><foo/><foo/></foobar>.fooCount() // returns 3
ignoreComments
默认为 true。该属性告诉 E4X 在序列化和筛选时忽略注释节点。即当 ignoreComments 为 ture 时 .comments() 返回空。观察如下例子:
var element = <foo> <!-- my comment --> <bar/> </foo>; element.comments().length(); // returns 0 element.toXMLString(); // returns <foo><bar/></foo> XML.ignoreComments = false; element = <foo> <!-- my comment --> <bar/> </foo>; element.comments().length(); // returns 1 element.toXMLString(); // returns <foo><!-- my comment --><bar/></foo>
ignoreProcessingInstructions
默认为 ture。该属性告诉 E4X 在序列化和筛选时忽略 XML 中的处理指令。例如:
var element = <foo> <?process x="true"?> <bar/> <?process x="false"?> </foo>; element.toXMLString(); // returns <foo><bar/></foo> XML.ignoreProcessingInstructions = false; var element = <foo> <?process x="true"?> <bar/> <?process x="false"?> </foo>; element.toXMLString(); // returns <foo><?process x="true"?><bar/><?process x="false"?></foo>
ignoreWhitespace
默认为 true。忽略节点之间以及节点文本头尾两端的空白,而其他的则被解析为文本节点或作为文本节点的一部分。
prettyPrinting
默认是 true。为 true 时,toXMLString() 序列化 E4X 对象时会包含换行和缩进。
prettyIndent
默认值是 2。代表 XML 树每层缩进的空格数。如果 prettyPrinting 是 false 则忽略。
为方便其他朋友提问和指正,转载是请保持文章完整性,并以超链接形式注明原始作者“redraiment ”和主站点 地址,谢谢。
联系方式
我的邮箱,欢迎来信(redraiment@gmail.com
)
我的CSDN博客(梦婷轩
):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩
):http://hi.baidu.com/redraiment
相关文章
- Linux常用系统性能监控命令
- 在 Linux 上使用 Rhythmbox 听音乐
- Kubernetes 生态下的 GitOps 常用工具大盘点
- 使用LiteOS Studio揭秘LiteOS在STM32上如何运行
- 当你在终端上按下一个键时会发生什么?
- 这些 Linux 的自动化技巧,教你轻松完成任务
- 三款适合只想完成工作的 Linux 发行版
- 在 Ubuntu 中使用 apt 命令列出可升级的软件包
- 浅析 Kubernetes 多集群调度方案
- SpringCloud OpenFeign + Nacos正确打开方式!
- Linux技巧二则:tmux常用命令及快捷键 / 查询网口
- 用 nftwatch 监控你的 Linux 防火墙
- 如何正确计算 Kubernetes 容器 CPU 使用率
- 如何在 Manjaro 和其他 Arch Linux 衍生品上安装 Discord 客户端
- 如何从 Windows 上用 SSH 连接到 Linux
- 关于 HTML5 LocalStorage 的五个不为人知的事实
- 面试突击:为什么创建线程池一定要用ThreadPoolExecutor?
- 微软 Windows 11/10 Edge 浏览器仍在测试“侧边栏”小工具,新增收藏夹
- Mac经常提示磁盘已满?用这六个方法轻松搞定
- 这个盛夏,来一场“清凉”的代码雨!