跳转到内容

xml 对象参考

XML 对象参考

本节提供了 XML 对象本身的属性和方法的参考详细信息,以及用于处理命名空间的相关实用对象和全局函数:

XML 对象

XML 对象提供了静态属性和函数(通过 XML 类访问)以及动态属性和函数(通过每个实例访问)。

XML 对象构造函数

构造函数返回表示 XML 树根节点的 XML 对象,该对象包含所有包含元素的附加 XML 对象。

[new] XML (xmlCode);

属性类型描述
xmlCode字符串或 XML包含有效 XML 代码的字符串,或现有的 XML 对象。
- 如果提供了有效的字符串,则返回封装 XML 代码的新 XML 对象。如果无法解析 XML 代码,则抛出 JavaScript 错误。
- 如果提供了现有对象并且使用了 new 运算符,则返回该对象的副本;否则,返回对象本身。

XML 设置

这些静态属性通过 XML 类访问。它们控制 XML 的解析和生成方式:

属性类型描述
ignoreComments布尔值当为 true 时,在解析期间从 XML 中删除注释。默认值为 false
ignoreProcessingInstructions布尔值当为 true 时,在解析期间从 XML 中删除处理指令(<?xxx?> 元素)。默认值为 false
ignoreWhitespace布尔值当为 true 时,在解析期间从 XML 中删除空白字符。默认值为 true
prettyIndent数字在美化打印时用于缩进的空格数。默认值为 2。
prettyPrinting布尔值当为 true 时,toXMLString() 使用缩进和换行符创建 XML 字符串。默认值为 true

XML 类方法

这些静态函数通过 XML 类访问,并提供有关 XML 解析器全局设置的信息。

XML.defaultSettings()

XML.defaultSettings();

描述

检索控制 XML 解析和生成的默认全局选项设置。

返回

返回一个包含五个属性的 JavaScript 对象,这些属性对应于 XML 设置


XML.settings()

XML.settings();

描述

检索控制 XML 解析和生成的当前全局选项设置。

返回

返回一个包含五个属性的 JavaScript 对象,这些属性对应于 XML 设置


XML.setSettings()

XML.setSettings(object);

描述

设置控制 XML 解析和生成的全局选项设置。您可以使用此函数恢复通过 settings()defaultSettings() 检索的设置。

参数

参数类型描述
object对象一个包含五个属性的 JavaScript 对象,这些属性对应于XML 设置

返回


XML 对象属性

XML 对象的属性以子元素和属性的名称命名,并包含这些子元素和属性的值。

xmlObj.childElementName

xmlObj.childElementName

描述

子元素属性以子元素名称命名。

类型

XML 对象


xmlObj.@attributeName

xmlObj.@attributeName

描述

属性属性以属性名称前缀 @ 命名。

类型

XML 对象


XML 对象方法

XML.addNamespace()

xmlObj.addNamespace(ns);

描述

向此节点添加命名空间声明。

参数

参数类型描述
ns命名空间对象要添加的命名空间声明

返回

XML 对象


XML.appendChild()

xmlObj.appendChild(child);

描述

将子元素追加到此节点,位于任何现有子元素之后。如果参数不是 XML,则创建一个新的 XML 元素,该元素包含字符串作为其文本值,并使用当前包含在此对象节点中的最后一个元素的相同元素名称。

参数

参数类型描述
childXML 对象 或任何可以通过 toString() 转换为字符串的值要追加的子元素

返回

XML 对象


XML.attributes()

xmlObj.attributes(name);

描述

检索此节点中包含的命名属性元素的列表。

参数

参数类型描述
name字符串属性名称。

返回

包含命名属性所有值的 XML 对象


XML.child()

xmlObj.child(which);

描述

检索此节点中给定类型的所有子元素的列表。

参数

参数类型描述
which字符串或数字元素名称,或数字(此节点子数组的 0 基索引)。

返回

包含给定类型的所有子元素的 XML 对象


XML.childIndex()

xmlObj.childIndex ();

描述

检索此节点在其父节点中的 0 基位置索引。

返回

数字


XML.children()

xmlObj.children();

描述

检索此节点的所有直接子元素,包括文本元素。

返回

包含子元素的 XML 对象


XML.comments()

xmlObj.comments();

描述

检索此节点中的所有 XML 注释元素。

返回

包含注释的 XML 对象


XML.contains()

xmlObj.contains(element);

描述

报告元素是否在此节点的任何嵌套级别中包含。

参数

参数类型描述
elementXML 对象要检查的元素

返回

布尔值。如果元素包含在此 XML 树中,则为 true


XML.copy()

xmlObj.copy();

描述

创建此节点的副本。

返回

新的 XML 对象。


XML.descendants()

xmlObj.descendants([name]);

描述

检索此节点中给定元素类型的所有后代元素,或所有 XML 值的后代元素,无论嵌套级别如何。包括文本元素。

参数

参数类型描述
name字符串可选。要匹配的元素名称。如果未提供,则匹配所有元素。

返回

包含每个后代元素属性的 XML 对象


XML.elements()

xmlObj.elements(name);

描述

检索此节点中给定类型的所有直接子元素,或所有类型的子元素。不包括文本元素。

参数

参数类型描述
name字符串可选。要匹配的元素名称。如果未提供,则匹配所有元素。

返回

包含每个子元素属性的 XML 对象


XML.hasComplexContent()

xmlObj.hasComplexContent();

描述

报告此节点是否具有复杂内容;即,是否包含子元素。忽略其他类型的内容,包括属性、注释、处理指令和文本节点。

返回

布尔值。如果此节点包含子元素,则为 true


XML.hasSimpleContent()

xmlObj.hasSimpleContent();

描述

报告此节点是否具有简单内容;即,是否表示文本节点、属性节点或不包含子元素的元素(无论是否还包含属性、注释、处理指令或文本)。

表示注释和处理指令的对象不具有简单内容。

返回

布尔值。如果此节点不包含子元素,则为 true


XML.inScopeNamespaces()

xmlObj.inScopeNamespaces();

描述

检索此元素中有效的命名空间列表。

返回

命名空间对象 的数组,其中最后一个成员是默认命名空间。


XML.insertChildAfter()

xmlObj.insertChildAfter(child1, child2);

描述

将新的子元素或文本节点插入到此节点中,位于另一个现有子元素之后。如果相对元素当前不在此节点中,则不插入新的子元素。

参数

参数类型描述
child1XML 对象在其后放置新子元素的现有子元素,或 null 以在开头插入新子元素。
child2XML 对象新的子元素,或任何可以通过 toString() 转换为字符串的值。

返回

XML 对象


XML.insertChildBefore()

xmlObj.insertChildBefore(child1, child2);

描述

将新的子元素或文本节点插入到此节点中,位于另一个现有子元素之前。如果相对元素当前不在此节点中,则不插入新的子元素。

参数

参数类型描述
child1XML 对象 在其前放置新子元素的现有子元素,或 null 以在末尾插入新子元素。
child2XML 对象 新的子元素,或任何可以通过 toString() 转换为字符串的值。

返回

XML 对象


XML.length()

xmlObj.length();

描述

报告此节点中包含的子元素数量。最小数量为 1,即此对象表示的元素。

返回

数字


XML.localName()

xmlObj.localName();

描述

检索此元素的本地名称;即,不带任何命名空间前缀的元素名称。

返回

字符串


XML.name()

xmlObj.name();

描述

检索此元素的完整名称,包括命名空间信息。

返回

包含元素名称和命名空间 URI 的 QName 对象


XML.namespace()

xmlObj.namespace();

描述

检索此元素的命名空间 URI。

返回

字符串


XML.nodeKind()

xmlObj.nodeKind();

描述

报告此节点的类型。

返回

字符串,可能为以下之一:

  • element
  • attribute
  • comment
  • processing-instruction
  • text

XML.namespaceDeclarations()

xmlObj.namespaceDeclarations();

描述

检索此节点中包含的所有命名空间声明。

返回

命名空间对象 的数组。


XML.normalize()

xmlObj.normalize();

描述

通过合并相邻的文本节点并消除空的文本节点,将此节点及其所有后代 XML 对象中的所有文本节点放入正常形式。

返回

XML 对象


XML.parent()

xmlObj.parent();

描述

检索此节点的父节点。

返回

XML 对象,或根元素的 null


XML.prependChild()

xmlObj.prependChild(child);

描述

将子元素预置到此节点,位于任何现有子元素之前。如果将字符串预置到文本元素,则结果为两个文本元素;调用 normalize() 将它们连接为单个文本字符串。

参数

参数类型描述
childXML 对象 或字符串要预置的子元素

返回

XML 对象


XML.processingInstructions()

xmlObj.processingInstructions ([name]);

描述

一个字符串,处理指令的名称,或 null 以获取所有处理指令。

检索此节点中包含的处理指令。

返回

包含此对象的子元素的 XML 对象,这些子元素是处理指令,如果提供了名称,则匹配该名称。


XML.replace()

xmlObj.replace(name, value);

描述

替换此节点中的一个或多个属性值。

如果命名元素不存在,则将给定值追加为文本元素。

参数

参数类型描述
name字符串元素或属性名称,带有或不带有特定元素的 0 基位置索引,或通配符字符串 `”*