aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/archive/web/e4x_tutorial
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/archive/web/e4x_tutorial
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/archive/web/e4x_tutorial')
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/accessing_xml_children/index.html111
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/descendants_and_filters/index.html27
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/index.html39
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/introduction/index.html64
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/namespaces/index.html33
-rw-r--r--files/zh-cn/archive/web/e4x_tutorial/the_global_xml_object/index.html55
6 files changed, 329 insertions, 0 deletions
diff --git a/files/zh-cn/archive/web/e4x_tutorial/accessing_xml_children/index.html b/files/zh-cn/archive/web/e4x_tutorial/accessing_xml_children/index.html
new file mode 100644
index 0000000000..16b4cf8139
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/accessing_xml_children/index.html
@@ -0,0 +1,111 @@
+---
+title: Accessing XML children
+slug: Archive/Web/E4X_tutorial/Accessing_XML_children
+translation_of: Archive/Web/E4X_tutorial/Accessing_XML_children
+---
+<h2 id="访问_XML_子节点">访问 XML 子节点</h2>
+<p>JavaScript 对象通常使用 . 或 [] 来设置性质。</p>
+<pre class="brush: js">var a = {};
+a.foo = 1;
+a["bar"] = 2;</pre>
+<p>在 E4X 中,点(.)和中括号([])操作符用来访问 E4X 元素的子节点。</p>
+<pre class="brush: js">var element1 = &lt;foo&gt;
+ &lt;bar/&gt;
+ &lt;/foo&gt;;
+var element2 = &lt;baz/&gt;;
+element1.bar.appendChild(element2);
+element1["bar"].appendChild(&lt;quux/&gt;);</pre>
+<p>往 element1 中的 bar 节点添加子节点,生成如下 XML 文档:</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;bar&gt;<br>
+     &lt;baz/&gt;<br>
+     &lt;quux/&gt;<br>
+   &lt;/bar&gt;<br>
+ &lt;/foo&gt;</code></p>
+<p>但是要注意,给一个不存在的子元素赋值会创建这个元素。</p>
+<pre class="brush: js">var element1 = &lt;foo/&gt;
+element1.bar = 1;</pre>
+<p>生成</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;bar&gt;1&lt;/bar&gt;<br>
+ &lt;/foo&gt;</code></p>
+<p>如果子节点已经存在,点(.)操作符允许你更改它的值。</p>
+<pre class="brush: js">var elem = &lt;foo&gt;
+ &lt;bar&gt;1&lt;/bar&gt;
+ &lt;/foo&gt;
+elem.bar = 2;</pre>
+<p>会将原来的值 1 改成 2。</p>
+<p>你可以用 delete 命令删除一个子节点。</p>
+<pre class="brush: js">var elem = &lt;foo&gt;
+ &lt;bar/&gt;
+ &lt;baz/&gt;
+ &lt;/foo&gt;
+delete elem.bar;</pre>
+<p>只剩下</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;baz/&gt;<br>
+ &lt;/foo&gt;</code></p>
+<p>点(.)操作符还能用于替换特定的子节点。</p>
+<pre class="brush: js">var elem1 = &lt;foo&gt;
+ &lt;bar/&gt;
+ &lt;/foo&gt;;
+var elem2 = &lt;red&gt;
+ &lt;blue/&gt;
+ &lt;/red&gt;;
+elem1.bar = elem2;</pre>
+<p>用 elem2 的全部内容替换 &lt;bar/&gt; 元素。</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;red&gt;<br>
+     &lt;blue/&gt;<br>
+   &lt;/red&gt;<br>
+ &lt;foo&gt;</code></p>
+<h2 id="XML_列表">XML 列表</h2>
+<p>许多时候,一个元素会有两个或多个相同类型的子节点。在这种情况下,访问 foo.bar 将返回一个XML 列表对象,包含所有类型为“bar”的子节点。注意:在使用 . 操作符时,判断它是返回单个元素还是一个 XML 列表,这是你的责任。在返回这些性质时,E4X 的行为并没有区别。</p>
+<p>XML 列表的行为就像是一个数组。</p>
+<pre class="brush: js">var element = &lt;foo&gt;
+ &lt;bar baz="1"&gt;red&lt;/bar&gt;
+ &lt;bar baz="2"&gt;blue&lt;/bar&gt;
+ &lt;/foo&gt;;
+var list = element.bar;
+list.length(); // returns 2
+list[0]; // the first bar element
+list[1]; // the second bar element
+</pre>
+<p>需要注意,这个列表时可修改的,在它上面做的修改都会反映到原始的 XML 文档中。</p>
+<pre class="brush: js">list[1] = "green";</pre>
+<p>XML 文档被修改为:</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;bar baz="1"&gt;red&lt;/bar&gt;<br>
+   &lt;bar baz="2"&gt;green&lt;/bar&gt;<br>
+ &lt;/foo&gt;</code></p>
+<h2 id="特殊类型的节点">特殊类型的节点</h2>
+<p>XML 对象有一些方法可以访问 XML 列表中的通用类型节点。</p>
+<pre class="brush: js">var a = &lt;foo&gt; Some text &lt;bar&gt;not text&lt;/bar&gt; More text &lt;/foo&gt;;
+var list = a.text();
+list.length(); // returns 2
+list[0]; // returns " Some text "
+list[1]; // returns " More text "</pre>
+<p>你同样可以访问注释节点:</p>
+<pre class="brush: js">XML.ignoreComments = false;
+var a = &lt;foo&gt; Some &lt;!-- abc --&gt; text &lt;/foo&gt;;
+var comments = a.comments();
+alert(comments[0]); // Returns &lt;!-- abc --&gt;</pre>
+<p>星号(*)选择器将返回 XML 列表的所有子节点。</p>
+<pre class="brush: js">var a = &lt;foo&gt;
+ &lt;bar/&gt;
+ &lt;baz/&gt;
+ &lt;/foo&gt;;
+var list = a.*;
+list.length(); // returns 2
+</pre>
+<p>元素属性</p>
+<p>很多 XML 元素都有赋有特定值的属性。例如:</p>
+<p><code>&lt;pets&gt;<br>
+   &lt;dog color="brown"&gt;Fido&lt;/dog&gt;<br>
+   &lt;cat color="grey"&gt;Fluffy&lt;/cat&gt;<br>
+ &lt;/pets&gt;</code></p>
+<p>E4X 运行你用 .@ 操作符来反问这些特定元素的属性。最基本的情况如下例所示:</p>
+<pre class="brush: js"> var element = &lt;foo bar="1"/&gt;
+ element.@bar = 2;</pre>
+<p>它将生成:</p>
+<p><code>&lt;foo bar="2"/&gt;</code></p>
diff --git a/files/zh-cn/archive/web/e4x_tutorial/descendants_and_filters/index.html b/files/zh-cn/archive/web/e4x_tutorial/descendants_and_filters/index.html
new file mode 100644
index 0000000000..fbf89a871f
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/descendants_and_filters/index.html
@@ -0,0 +1,27 @@
+---
+title: Descendants and Filters
+slug: Archive/Web/E4X_tutorial/Descendants_and_Filters
+translation_of: Archive/Web/E4X_tutorial/Descendants_and_Filters
+---
+<h2 id="访问后代节点">访问后代节点</h2>
+<p>很多时候,你感兴趣的节点往往不是 XML 根节点的子节点,而是嵌套在多层下的后代节点。你可以使用 .. 操作符访问任意深度的节点,或者使用 descendants 性质。例如:</p>
+<pre class="brush: js">var element = &lt;pets&gt;
+ &lt;dogs&gt;
+ &lt;fido color="red"/&gt;
+ &lt;spike color="blue"/&gt;
+ &lt;/dogs&gt;
+ &lt;/pets&gt;;
+element..fido.@color = "green";
+element..spike.@color = "purple";
+</pre>
+<p>两只宠物狗的颜色都做了改变。</p>
+<p>点(.)操作符的所有规则都适用于 .. 操作符。那就是说,如果有多个请求的类型,就会返回一个 XML 后代的列表。星号(*)选择器会返回 XML 列表的所有后代。</p>
+<h2 id="过滤器">过滤器</h2>
+<p>在很多情况下,尤其是用 * 选择器时,你并不想要处理 . 或 .. 操作符返回的所有节点。为了只处理其中特定的子集,可以将筛选条件放到 . 操作符后面的圆括号里。</p>
+<pre class="brush: js">var element = &lt;dogs&gt;
+ &lt;fido color="brown"/&gt;
+ &lt;spike color="black"/&gt;
+ &lt;killer color="brown"/&gt;
+ &lt;/dogs&gt;;
+var list = element.*.(@color == "brown");</pre>
+<p>本来,element.* 返回一个包含三只狗的列表。但其中只有 fido 和 killer 的颜色是褐色的。因此,该过来条件创建了一个只包含 fido 和 killer 的列表。</p>
diff --git a/files/zh-cn/archive/web/e4x_tutorial/index.html b/files/zh-cn/archive/web/e4x_tutorial/index.html
new file mode 100644
index 0000000000..4dac9ce0e8
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/index.html
@@ -0,0 +1,39 @@
+---
+title: E4X教程
+slug: Archive/Web/E4X_tutorial
+translation_of: Archive/Web/E4X_tutorial
+---
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/zh-CN/docs/cn/E4X_Tutorial/Introduction">下一页 »</a></p>
+</div><p></p>
+
+<div class="warning">
+<p>警告:E4X已废弃。 默认情况下,Firefox 16中的内容将禁用它,Firefox 17中的Chrome默认禁用,Firefox 18中将其删除。请使用DOMParser / DOMSerializer或非本机JXON算法。</p>
+</div>
+
+<h2 id="Overview" name="Overview">概述</h2>
+
+<p>本教程带你走入<strong>E4X (EcmaScript for XML)基本语法</strong>. 通过使用E4X,程序员可以通过一个类似JavaScript编程的语法来操作XML文档。</p>
+
+<h2 id="Subjects" name="Subjects">科目</h2>
+
+<ul>
+ <li><a href="/cn/E4X_Tutorial/Introduction" title="cn/E4X Tutorial/Introduction">简介</a></li>
+ <li><a href="/cn/E4X_Tutorial/Accessing_XML_children" title="cn/E4X_Tutorial/Accessing_XML_children">访问XML子节点</a></li>
+ <li><a href="/cn/E4X_Tutorial/Descendants_and_Filters" title="cn/E4X_Tutorial/Descendants_and_Filters">子孙和过滤器</a></li>
+ <li><a href="/cn/E4X_Tutorial/Namespaces" title="cn/E4X Tutorial/Namespaces">命名空间</a></li>
+ <li><a href="/cn/E4X_Tutorial/The_global_XML_object" title="cn/E4X_Tutorial/The_global_XML_object">全局XML对象</a></li>
+</ul>
+
+<h2 id="See_also" name="See_also">另请参阅</h2>
+
+<ul>
+ <li><a href="/cn/E4X" title="cn/E4X">E4X</a></li>
+ <li><a href="/cn/E4X/Processing_XML_with_E4X" title="cn/E4X/Processing_XML_with_E4X">使用E4X处理XML</a></li>
+</ul>
+
+<p></p><div class="prevnext" style="text-align: right;">
+ <p><a href="/zh-CN/docs/E4X_Tutorial:Introduction">下一页 »</a></p>
+</div><p></p>
+
+<p></p>
diff --git a/files/zh-cn/archive/web/e4x_tutorial/introduction/index.html b/files/zh-cn/archive/web/e4x_tutorial/introduction/index.html
new file mode 100644
index 0000000000..2c0a2f7a76
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/introduction/index.html
@@ -0,0 +1,64 @@
+---
+title: Introduction
+slug: Archive/Web/E4X_tutorial/Introduction
+tags:
+ - E4X
+ - JavaScript
+ - Tutorial
+translation_of: Archive/Web/E4X_tutorial/Introduction
+---
+<h2 id="基本语法">基本语法</h2>
+<p>如果启用了 E4X,基本的 XML 元素就是有效的语法。例如:</p>
+<pre class="brush: js">var element = &lt;foo/&gt;
+ </pre>
+<p>在开启了 E4X 的浏览器里完全有效。</p>
+<p>变量的声明也不局限于单个元素,并且和 JavaScript 一样可以扩多行。</p>
+<pre class="brush: js">var element2 = &lt;foo&gt;
+ &lt;bar/&gt;
+ &lt;/foo&gt;
+</pre>
+<p>此外,和一般的 XML 文档一样,你能给一个元素指定属性。</p>
+<pre class="brush: js">var element3 = &lt;foo baz="1"/&gt;
+ </pre>
+<p>操作元素</p>
+<p>E4X 的目标是为 JavaScript 程序员提供一个简单的方法来操作 XML 文档,而无需通过 DOM 接口。不过,很多你在 DOM 中用过的函数也能用到 E4X 中。最基本的就是 appendChild:</p>
+<pre class="brush: js">var element1 = &lt;foo/&gt;
+var element2 = &lt;bar/&gt;
+element1.appendChild(element2);
+</pre>
+<p>它会产生你期望的正确的 XML 文档:</p>
+<p><code>&lt;foo&gt;<br>
+   &lt;bar/&gt;<br>
+ &lt;/foo&gt; </code></p>
+<p><code>JavaScript 变量</code></p>
+<p><code>当 XML 文档需要和 JavaScript 做紧密交互时,E4X 真正强大的地方才得以彰显。通过特定的语法,我们能将 JavaScript 变量的值赋给 E4X 元素。这是用大括号({})标记。</code></p>
+<pre class="brush: js"><code>var a = 2;
+var b = &lt;foo&gt;{a}&lt;/foo&gt;;
+</code></pre>
+<p><code>创建了一段 XML 文档,内容为 &lt;foo&gt;2&lt;/foo&gt;。</code></p>
+<p><code>你也可以将大括号标记用于元素的属性(名字或值)。例如:</code></p>
+<pre class="brush: js"><code>var a = 2;
+var b = 'bar';
+var c = &lt;foo {b}={a}&gt;"hi"&lt;/foo&gt;;</code></pre>
+<p><code>创建的 XML 稍有不同:&lt;foo bar="2"&gt;"hi"&lt;/foo&gt;。</code></p>
+<p><code>注意:XML 元素只接受文本作为他们的值。大括号标记真正发生的是调用变量的 toString 方法,并将返回值填到相应位置。例如:</code></p>
+<pre class="brush: js"><code>var a = {foo: 1};
+var b = &lt;bar&gt;{a}&lt;/bar&gt;</code></pre>
+<p><code>实际上产生的文档是 &lt;bar&gt;[object Object]&lt;/bar&gt;。</code></p>
+<h2 id="在内容中使用内联函数"><code>在内容中使用内联函数</code></h2>
+<p><code>虽然大括号限定执行单条语句,但通过匿名函数内联可以执行一些额外的处理:</code></p>
+<pre class="brush: js"><code>var a = 'foo';
+var b = &lt;bar&gt;{function () {var c = a.toUpperCase(); var d = 5 * 5; return c + d;}()}&lt;/bar&gt;</code></pre>
+<p><code>上述代码产生:&lt;bar&gt;FOO25&lt;/bar&gt;</code></p>
+<p><code>该用法更多的讨论请参加 <a href="/en/E4X_for_templating#Inline_functions" title="en/E4X_for_templating#Inline_functions">E4X for templating</a> 。</code></p>
+<h2 id="序列化"><code>序列化</code></h2>
+<p><code>E4X 最强大的工具就是简单地调用 .toXMLString() 就可以将整个 XML 文档(或其中部分)序列化到字符串中。</code></p>
+<pre class="brush: js"><code>var element1 = &lt;foo/&gt;;
+var element2 = &lt;bar/&gt;;
+element1.apppendChild(element2);
+element1.toXMLString();</code></pre>
+<p><code>输出为:</code></p>
+<p><code><code>&lt;foo&gt;<br>
+   &lt;bar/&gt;<br>
+ &lt;/foo&gt;</code></code></p>
+<p><code>本例使用 toString() 也能达到相同效果,不过在一个只有文本内容的元素上调用 toString() 将之产生文本内容(例如,&lt;foo&gt;abc&lt;/foo&gt;.toString(); 会只产生 'abc')。</code></p>
diff --git a/files/zh-cn/archive/web/e4x_tutorial/namespaces/index.html b/files/zh-cn/archive/web/e4x_tutorial/namespaces/index.html
new file mode 100644
index 0000000000..8a2fc96063
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/namespaces/index.html
@@ -0,0 +1,33 @@
+---
+title: Namespaces
+slug: Archive/Web/E4X_tutorial/Namespaces
+translation_of: Archive/Web/E4X_tutorial/Namespaces
+---
+<h2 id="E4X_与_命令空间">E4X 与 命令空间</h2>
+<p>通常情况下,XML 文档包含来自多种命令空间的元素。你可以通过声明为你的 E4X 对象设置默认的命名空间。</p>
+<pre class="brush: js">default xml namespace = "http://www.w3.org/1999/xhtml";
+</pre>
+<p>通过重复的声明,你可以随时更改相同范围内 E4X 的命名空间。</p>
+<pre class="brush: js">default xml namespace = "http://www.w3.org/1999/xhtml";
+var a = &lt;p&gt;Some text&lt;/p&gt;;
+default xml namespace = "http://www.mozilla.org/keymaster/gat...re.is.only.xul";
+var b = &lt;label&gt;More text&lt;/label&gt;;
+a.appendChild(b);
+</pre>
+<p>得出</p>
+<p><code>&lt;p xmlns="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"&gt;<br>
+   Some text<br>
+   &lt;label xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gat...re.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;More text&lt;/label&gt;<br>
+ &lt;/p&gt; </code></p>
+<h2 id="name()">name()</h2>
+<p>在 XML 对象上调用 name() 会返回一个 QName 对象(Qualified Name)。QName 在支持 E4X 的 JavaScript 实现中是一个全局的构造函数。QName 对象有两个特别重要的属性:localName 返回元素的名字,且没有任何命名空间前缀;uri 返回元素所在的命名空间。</p>
+<pre class="brush: js">var info = a.name();
+info.localName; // returns 'p'.
+info.uri; // returns "http://www.w3.org/1999/xhtml"</pre>
+<p>没有在任何命令空间的元素,他们的 uri 是一个空字符串。</p>
+<p>Namespace 全局构造函数和 QName 非常相似。Namespace 的不同之处是 toString 方法,以及 Namespace 用 prefix 属性来代替 localName 属性<sup>[1]</sup> 。</p>
+<p>关于 E4X 的命名空间,更多的内容请参见 <a href="/cn/E4X/Processing_XML_with_E4X#Handling_namespaces" title="cn/E4X/Processing_XML_with_E4X#Handling_namespaces">Processing XML with E4X</a> 。</p>
+<h2 id="译者注">译者注</h2>
+<ol>
+ <li>原文中没有详细讲,获得 Namespace 对象的方法是调用 .namespace()。其中 QName 的 toString 方法会输出 Namespace::name 的形式,而 Namespace 的 toString 只会输出命名空间。</li>
+</ol>
diff --git a/files/zh-cn/archive/web/e4x_tutorial/the_global_xml_object/index.html b/files/zh-cn/archive/web/e4x_tutorial/the_global_xml_object/index.html
new file mode 100644
index 0000000000..910b422ada
--- /dev/null
+++ b/files/zh-cn/archive/web/e4x_tutorial/the_global_xml_object/index.html
@@ -0,0 +1,55 @@
+---
+title: The global XML object
+slug: Archive/Web/E4X_tutorial/The_global_XML_object
+translation_of: Archive/Web/E4X_tutorial/The_global_XML_object
+---
+<h2 id="全局_XML_对象">全局 XML 对象</h2>
+<p>E4X-capable JavaScript 引擎在全局对象上放了一个新的属性。XML 对象有许多属性允许你定制解析和序列化 E4X。XML 元素从他们创建开始就记住 XML 对象的设置。</p>
+<h2 id="扩展_XML.prototype">扩展 XML.prototype</h2>
+<p>XML.prototype 和 XMLList.prototype(XMLList.prototype 实际上就是 XML.prototype)不能像其他构造器(例如 Object)一样扩展。你只能在 XML.prototype 里定义方法,而不能定义字段。要向 XML.prototype 添加一个方法,则要定义 XML.prototype.function::methodName 或 XML.prototype.funciton::[methodNameString]。下例定义 fooCount() 方法,返回 XML 中 &lt;foo&gt; 元素的个数:</p>
+<p> </p>
+<pre class="brush: js">XML.prototype.function::fooCount = function fooCount() {
+ return this..foo.length();
+};
+&lt;foobar&gt;&lt;foo/&gt;&lt;foo/&gt;&lt;foo/&gt;&lt;/foobar&gt;.fooCount() // returns 3</pre>
+<p> </p>
+<h2 id="ignoreComments">ignoreComments</h2>
+<p>默认为 true。该属性告诉 E4X 在序列化和筛选时忽略注释节点。即当 ignoreComments 为 ture 时 .comments() 返回空。观察如下例子:</p>
+<p> </p>
+<pre class="brush: js">var element = &lt;foo&gt;
+ &lt;!-- my comment --&gt;
+ &lt;bar/&gt;
+ &lt;/foo&gt;;
+element.comments().length(); // returns 0
+element.toXMLString(); // returns &lt;foo&gt;&lt;bar/&gt;&lt;/foo&gt;
+XML.ignoreComments = false;
+element = &lt;foo&gt;
+ &lt;!-- my comment --&gt;
+ &lt;bar/&gt;
+ &lt;/foo&gt;;
+element.comments().length(); // returns 1
+element.toXMLString(); // returns &lt;foo&gt;&lt;!-- my comment --&gt;&lt;bar/&gt;&lt;/foo&gt;</pre>
+<p> </p>
+<h2 id="ignoreProcessingInstructions">ignoreProcessingInstructions</h2>
+<p>默认为 ture。该属性告诉 E4X 在序列化和筛选时忽略 XML 中的处理指令。例如:</p>
+<p> </p>
+<pre class="brush: js">var element = &lt;foo&gt;
+ &lt;?process x="true"?&gt;
+ &lt;bar/&gt;
+ &lt;?process x="false"?&gt;
+ &lt;/foo&gt;;
+element.toXMLString(); // returns &lt;foo&gt;&lt;bar/&gt;&lt;/foo&gt;
+XML.ignoreProcessingInstructions = false;
+var element = &lt;foo&gt;
+ &lt;?process x="true"?&gt;
+ &lt;bar/&gt;
+ &lt;?process x="false"?&gt;
+ &lt;/foo&gt;;
+element.toXMLString(); // returns &lt;foo&gt;&lt;?process x="true"?&gt;&lt;bar/&gt;&lt;?process x="false"?&gt;&lt;/foo&gt;</pre>
+<p> </p>
+<h2 id="ignoreWhitespace">ignoreWhitespace</h2>
+<p>默认为 true。忽略节点之间以及节点文本头尾两端的空白,而其他的则被解析为文本节点或作为文本节点的一部分。</p>
+<h2 id="prettyPrinting">prettyPrinting</h2>
+<p>默认是 true。为 true 时,toXMLString() 序列化 E4X 对象时会包含换行和缩进。</p>
+<h2 id="prettyIndent">prettyIndent</h2>
+<p>默认值是 2。代表 XML 树每层缩进的空格数。如果 prettyPrinting 是 false 则忽略。</p>