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

时间: 2024-07-28 13:55:16

E4X教程[5] - 全局 XML 对象的相关文章

E4X教程[2] - 访问 XML 子节点

访问 XML 子节点 JavaScript 对象通常使用 . 或 [] 来设置性质. var a = {}; a.foo = 1; a["bar"] = 2; 在 E4X 中,点(.)和中括号([])操作符用来访问 E4X 元素的子节点. var element1 = <foo> <bar/> </foo>; var element2 = <baz/>; element1.bar.appendChild(element2); elemen

E4X教程[4] - 命名空间

E4X 与 命令空间 通常情况下,XML 文档包含来自多种命令空间的元素.你可以通过声明为你的 E4X 对象设置默认的命名空间. default xml namespace = "http://www.w3.org/1999/xhtml"; 通过重复的声明,你可以随时更改相同范围内 E4X 的命名空间. default xml namespace = "http://www.w3.org/1999/xhtml"; var a = <p>Some text

asp.net ajax post xml对象抛出500错误解决办法(客户端字符串与xml对象的转

AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 其中Asynchronous 表示异步, 另外javascript和xml都是名词.  其中javascript用作客户端脚本  ajax其主要中心思想:就是通过XMLHttpRequest对象异步(同步)请求服务器脚本.服务器接收到请求后,通过response.write()返回到客户端.  var xmlHttp; //要

全局XML Web服务体系结构概述

web|web服务|xml|体系 全局XML Web服务体系结构(Global XML Web Services Architecture,下面简称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准.相当多的大公司正在GXA的幕后进行合作,包括微软和IBM. GXA的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中.虽然在过去的几年中,已经做了大量的工作来创建用于Web服务的标准,但是仍然有很多工作要做.这些工作由增

最终还是手工输出XML对象可靠

xml|对象  原文 最终还是手工输出XML对象可靠 2005年 01月06日 和xml打交道,常常是哭笑不得:我为什么要花那么大力气和整个XML文档打交通呢?实实在在的,我只不过想存取其中一个对象的属性罢了!!前段时间了解了castor觉得这是一个解决方案,不过也还是需要整个文档的读写更新.一来是时间限制不允许当前深入研究,而且那也是一个不算成熟的项目:二来呢,采纳的话会和现在的digester读取模式发生冲突,有点划不过来.但是象科室设置的更新频率看来越来越高,再放到XML中只读靠手工改看来

全局XML Web服务体系结构新标准

全局XML Web服务体系结构(Global XML Web Services Architecture,下面简 称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准.相当多的 大公司正在GXA的幕后进行合作,包括微软和IBM.GXA的主要目标是定义指定Web 服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相 互适应性中.虽然在过去的几年中,已经做了大量的工作来创建用于Web服务的标 准,但是仍然有很多工作要做.这些工作由增强并专业化Web服务交互性

js字符串转换成xml对象并使用技巧解读_javascript技巧

在java端将字符串转化为xml对象可以使用DocumentHelper.parseText(xmlReturn).getRootElement(); 在js中同样有方法可以将字符串转化为xml对象,可以使用如下函数 以下是引用片段: 复制代码 代码如下: function createXml(str){ if(document.all){ var xmlDom=new ActiveXObject("Microsoft.XMLDOM") xmlDom.loadXML(str) retu

as 复制一个xml对象

创建了一个复制的原始xml对象,以便它可以按值传递 package{   import flash.display.sprite;     public class main extends sprite{     public function main(){         var template:xml = <person><name><first /><last /></name></person>;         var

E4X教程[1] - 入门

基本语法 如果启用了 E4X,基本的 XML 元素就是有效的语法.例如: var element = <foo/> 在开启了 E4X 的浏览器里完全有效. 变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行. var element2 = <foo> <bar/> </foo> 此外,和一般的 XML 文档一样,你能给一个元素指定属性. var element3 = <foo baz="1"/> 操作元