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
描述
子元素属性以子元素名称命名。
类型
xmlObj.@attributeName
xmlObj.@attributeName
描述
属性属性以属性名称前缀 @
命名。
类型
XML 对象方法
XML.addNamespace()
xmlObj.addNamespace(ns);
描述
向此节点添加命名空间声明。
参数
参数 | 类型 | 描述 |
---|---|---|
ns | 命名空间对象 | 要添加的命名空间声明 |
返回
此 XML 对象。
XML.appendChild()
xmlObj.appendChild(child);
描述
将子元素追加到此节点,位于任何现有子元素之后。如果参数不是 XML,则创建一个新的 XML 元素,该元素包含字符串作为其文本值,并使用当前包含在此对象节点中的最后一个元素的相同元素名称。
参数
参数 | 类型 | 描述 |
---|---|---|
child | XML 对象 或任何可以通过 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);
描述
报告元素是否在此节点的任何嵌套级别中包含。
参数
参数 | 类型 | 描述 |
---|---|---|
element | XML 对象 | 要检查的元素 |
返回
布尔值。如果元素包含在此 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);
描述
将新的子元素或文本节点插入到此节点中,位于另一个现有子元素之后。如果相对元素当前不在此节点中,则不插入新的子元素。
参数
参数 | 类型 | 描述 |
---|---|---|
child1 | XML 对象 | 在其后放置新子元素的现有子元素,或 null 以在开头插入新子元素。 |
child2 | XML 对象 | 新的子元素,或任何可以通过 toString() 转换为字符串的值。 |
返回
此 XML 对象。
XML.insertChildBefore()
xmlObj.insertChildBefore(child1, child2);
描述
将新的子元素或文本节点插入到此节点中,位于另一个现有子元素之前。如果相对元素当前不在此节点中,则不插入新的子元素。
参数
参数 | 类型 | 描述 |
---|---|---|
child1 | XML 对象 在其前放置新子元素的现有子元素,或 null 以在末尾插入新子元素。 | |
child2 | XML 对象 新的子元素,或任何可以通过 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() 将它们连接为单个文本字符串。
参数
参数 | 类型 | 描述 |
---|---|---|
child | XML 对象 或字符串 | 要预置的子元素 |
返回
此 XML 对象。
XML.processingInstructions()
xmlObj.processingInstructions ([name]);
描述
一个字符串,处理指令的名称,或 null
以获取所有处理指令。
检索此节点中包含的处理指令。
返回
包含此对象的子元素的 XML 对象,这些子元素是处理指令,如果提供了名称,则匹配该名称。
XML.replace()
xmlObj.replace(name, value);
描述
替换此节点中的一个或多个属性值。
如果命名元素不存在,则将给定值追加为文本元素。
参数
参数 | 类型 | 描述 |
---|---|---|
name | 字符串 | 元素或属性名称,带有或不带有特定元素的 0 基位置索引,或通配符字符串 `”* |