Object 内置对象

对象 XmlElement

XmlElement 对象表示 XML 文档中的元素

继承关系

成员属性

namespaceURI

String, 查询元素的命名空间的 URI。如果选定的节点无命名空间,则该属性返回 NULL

1
readonly String XmlElement.namespaceURI;

prefix

String, 查询和设置元素的命名空间前缀。如果选定的节点无命名空间,则该属性返回 NULL

1
String XmlElement.prefix;

localName

String, 查询元素的本地名称。如果选定的节点无命名空间,则该属性等同于 nodeName

1
readonly String XmlElement.localName;

tagName

String, 返回元素的标签名

1
readonly String XmlElement.tagName;

id

String, 查询和设置元素的 id 属性

1
String XmlElement.id;

textContent

String, 查询和设置选定元素的文本。查询时,返回元素节点内所有文本节点的值;设置时,删除所有子节点,并用单个文本节点来替换它们。

1
String XmlElement.textContent;

innerHTML

String, 查询和设置选定元素的 HTML 文本,仅在 html 模式有效。查询时,返回元素节点内所有子节点的 HTML 编码;设置时,删除所有子节点,并用指定的 HTML 解码后替换它们。

1
String XmlElement.innerHTML;

className

String, 查询和设置元素的 class 属性,仅在 html 模式有效

1
String XmlElement.className;

attributes

XmlNamedNodeMap, 返回包含被选节点属性的 NamedNodeMap。如果被选节点不是元素,则该属性返回 NULL。

1
readonly XmlNamedNodeMap XmlElement.attributes;

nodeType

Integer, 返回节点的节点类型

1
readonly Integer XmlElement.nodeType;

不同对象的 nodeType 会返回不同的值:


nodeName

String, 返回节点的名称,根据其类型

1
readonly String XmlElement.nodeName;

不同对象的 nodeName 会返回不同的值:


nodeValue

String, 返回节点的名称,根据其类型

1
String XmlElement.nodeValue;

不同对象的 nodeName 会返回不同的值:


ownerDocument

XmlDocument, 返回节点的根元素(XmlDocument 对象)

1
readonly XmlDocument XmlElement.ownerDocument;

parentNode

XmlNode, 可返回某节点的父节点

1
readonly XmlNode XmlElement.parentNode;

childNodes

XmlNodeList, 返回指定节点的子节点的节点列表

1
readonly XmlNodeList XmlElement.childNodes;

firstChild

XmlNode, 返回节点的首个子节点

1
readonly XmlNode XmlElement.firstChild;

lastChild

XmlNode, 返回节点的最后一个子节点

1
readonly XmlNode XmlElement.lastChild;

previousSibling

XmlNode, 返回某节点之前紧跟的节点(处于同一树层级),如果没有此节点,那么该属性返回 null

1
readonly XmlNode XmlElement.previousSibling;

nextSibling

XmlNode, 返回某个元素之后紧跟的节点(处于同一树层级中),如果无此节点,则属性返回 null

1
readonly XmlNode XmlElement.nextSibling;

成员函数

getAttribute

通过名称查询属性的值

1
String XmlElement.getAttribute(String name);

调用参数:

  • name: String, 指定查询的属性名

返回结果:

  • String, 返回属性的值

getAttributeNS

通过命名空间 URI 和名称来获取属性值

1 2
String XmlElement.getAttributeNS(String namespaceURI, String localName);

调用参数:

  • namespaceURI: String, 指定查询的命名空间 URI
  • localName: String, 指定查询的属性名

返回结果:

  • String, 返回属性的值

setAttribute

创建或改变某个新属性

1 2
XmlElement.setAttribute(String name, String value);

调用参数:

  • name: String, 指定要设置的属性名
  • value: String, 指定要设置的属性值

该方法把指定的属性设置为指定的值。如果不存在具有指定名称的属性,该方法将创建一个新属性


setAttributeNS

创建或改变具有命名空间的属性

1 2 3
XmlElement.setAttributeNS(String namespaceURI, String qualifiedName, String value);

调用参数:

  • namespaceURI: String, 指定要设置的命名空间 URI
  • qualifiedName: String, 指定要设置的属性名
  • value: String, 指定要设置的属性值

该方法与 setAttribute 方法类似,只是要创建或设置的属性由命名空间 URI 和限定名(由名字空间前缀、冒号和名字空间中的本地名构成)共同指定。除了可以改变一个属性的值以外,使用该方法还可以改变属性的名字空间前缀


removeAttribute

通过名称删除指定的属性

1
XmlElement.removeAttribute(String name);

调用参数:

  • name: String, 指定删除的属性名

removeAttributeNS

通过命名空间和名称删除指定的属性

1 2
XmlElement.removeAttributeNS(String namespaceURI, String localName);

调用参数:

  • namespaceURI: String, 指定要删除的命名空间 URI
  • localName: String, 指定删除的属性名

hasAttribute

查询当前节点是否拥有指定名称的属性

1
Boolean XmlElement.hasAttribute(String name);

调用参数:

  • name: String, 指定查询的属性名称

返回结果:

  • Boolean, 如果当前元素节点拥有指定属性,则返回 true,否则返回 false

hasAttributeNS

查询当前节点是否拥有指定命名空间和名称的属性

1 2
Boolean XmlElement.hasAttributeNS(String namespaceURI, String localName);

调用参数:

  • namespaceURI: String, 指定要查询的命名空间 URI
  • localName: String, 指定查询的属性名称

返回结果:

  • Boolean, 如果当前元素节点拥有指定属性,则返回 true,否则返回 false

getElementsByTagName

返回拥有指定名称的所有元素的 XmlNodeList

1
XmlNodeList XmlElement.getElementsByTagName(String tagName);

调用参数:

  • tagName: String, 需检索的标签名。值 "*" 匹配所有的标签

返回结果:

  • XmlNodeList, 节点树中具有指定标记的 XmlElement 节点的 XmlNodeList 集合。返回的元素节点的顺序就是它们在源文档中出现的顺序。

该方法将遍历指定元素的子孙节点,返回一个 XmlElement 节点的 XmlNodeList 对象,表示所有具有指定标签名的文档元素。元素在返回的数组中的顺序就是它们出现在文档源代码中的顺序。

XmlDocument 接口也定义了 getElementsByTagName 方法,它与该方法相似,但遍历整个文档,而不是遍历某个元素的子孙节点。


getElementsByTagNameNS

返回拥有指定命名空间和名称的所有元素的 XmlNodeList

1 2
XmlNodeList XmlElement.getElementsByTagNameNS(String namespaceURI, String localName);

调用参数:

  • namespaceURI: String, 指定要查询的命名空间 URI
  • localName: String, 需检索的标签名。值 "*" 匹配所有的标签

返回结果:

  • XmlNodeList, 节点树中具有指定标记的 XmlElement 节点的 XmlNodeList 集合。返回的元素节点的顺序就是它们在源文档中出现的顺序。

该方法与 getElementsByTagName 方法相似,只是想获取的元素的标记名被指定为命名空间 URI 和在命名空间中定义的本地名的组合。


getElementById

返回拥有指定 id 属性的元素

1
XmlElement XmlElement.getElementById(String id);

调用参数:

  • id: String, 需检索的 id

返回结果:

  • XmlElement, 节点树中具有指定 id 属性的 XmlElement 节点

该方法将遍历指定元素的子孙节点,返回一个 XmlElement 节点对象,表示第一个具有指定 id 属性的文档元素。。

XmlDocument 接口也定义了 getElementsByTagName 方法,它与该方法相似,但遍历整个文档,而不是遍历某个元素的子孙节点。


getElementsByClassName

返回带有指定 class 名称的所有元素的一个节点列表

1
XmlNodeList XmlElement.getElementsByClassName(String className);

调用参数:

  • className: String, 需检索的 class 名称

返回结果:

  • XmlNodeList, 文档树中具有指定 class 名的 XmlElement 节点的 XmlNodeList 集合。返回的元素节点的顺序就是它们在源文档中出现的顺序。

该方法将返回一个 XmlNodeList 对象(可以作为只读数组处理),该对象存放文档中具有指定 class 名的所有 XmlElement 节点,它们存放的顺序就是在源文档中出现的顺序。 XmlNodeList 对象是“活”的,即如果在文档中添加或删除了指定标签名的元素,它的内容会自动进行必要的更新。


hasChildNodes

查询是否存在子节点

1
Boolean XmlElement.hasChildNodes();

返回结果:

  • Boolean, 存在任何子节点时返回 true,否则返回 false

normalize

合并相邻的 Text 节点并删除空的 Text 节点

1
XmlElement.normalize();

这个方法将遍历当前节点的所有子孙节点,通过删除空的 Text 节点,已经合并所有相邻的 Text 节点来规范化文档。该方法在进行节点的插入或删除操作后,对于简化文档树的结构很有用。


cloneNode

创建指定的节点的精确拷贝

1
XmlNode XmlElement.cloneNode(Boolean deep = true);

调用参数:

  • deep: Boolean, 是否深度拷贝,为 true 时,被克隆的节点会克隆原节点的所有子节点

返回结果:

  • XmlNode, 返回所复制的节点

该方法将复制并返回调用它的节点的副本。如果传递给它的参数是 true,它还将递归复制当前节点的所有子孙节点。 否则,它只复制当前节点。返回的节点不属于文档树,它的 parentNode 属性为 null。当复制的是 Element 节点时,它的所有属性都将被复制。


lookupPrefix

返回在当前节点上匹配指定的命名空间 URI 的前缀

1
String XmlElement.lookupPrefix(String namespaceURI);

调用参数:

  • namespaceURI: String, 指定匹配的命名空间 URI

返回结果:

  • String, 返回匹配的前缀,未匹配到返回 null

lookupNamespaceURI

返回在当前节点上匹配指定的前缀的命名空间 URI

1
String XmlElement.lookupNamespaceURI(String prefix);

调用参数:

  • prefix: String, 指定匹配的前缀

返回结果:

  • String, 返回匹配的命名空间 URI,未匹配到返回 null

insertBefore

在已有的子节点前插入一个新的子节点

1 2
XmlNode XmlElement.insertBefore(XmlNode newChild, XmlNode refChild);

调用参数:

  • newChild: XmlNode, 插入新的节点
  • refChild: XmlNode, 在此节点前插入新节点

返回结果:

如果文档树中已经存在了 newChild,它将从文档树中删除,然后重新插入它的新位置。来自一个文档的节点(或由一个文档创建的节点)不能插入另一个文档。也就是说,newChild 的 ownerDocument 属性必须与当前节点的 ownerDocument 属性相同。


insertAfter

在已有的子节点后插入一个新的子节点

1 2
XmlNode XmlElement.insertAfter(XmlNode newChild, XmlNode refChild);

调用参数:

  • newChild: XmlNode, 插入新的节点
  • refChild: XmlNode, 在此节点后插入新节点

返回结果:

如果文档树中已经存在了 newChild,它将从文档树中删除,然后重新插入它的新位置。来自一个文档的节点(或由一个文档创建的节点)不能插入另一个文档。也就是说,newChild 的 ownerDocument 属性必须与当前节点的 ownerDocument 属性相同。


appendChild

向节点的子节点列表的末尾添加新的子节点

1
XmlNode XmlElement.appendChild(XmlNode newChild);

调用参数:

  • newChild: XmlNode, 指定添加的节点

返回结果:

  • XmlNode, 返回这个新的子节点

如果文档树中已经存在了 newChild,它将从文档树中删除,然后重新插入它的新位置。来自一个文档的节点(或由一个文档创建的节点)不能插入另一个文档。也就是说,newChild 的 ownerDocument 属性必须与当前节点的 ownerDocument 属性相同。


replaceChild

将某个子节点替换为另一个

1 2
XmlNode XmlElement.replaceChild(XmlNode newChild, XmlNode oldChild);

调用参数:

  • newChild: XmlNode, 指定新的节点
  • oldChild: XmlNode, 指定被替换的节点

返回结果:

  • XmlNode, 如替换成功,此方法可返回被替换的节点,如替换失败,则返回 null

如果文档树中已经存在了 newChild,它将从文档树中删除,然后重新插入它的新位置。来自一个文档的节点(或由一个文档创建的节点)不能插入另一个文档。也就是说,newChild 的 ownerDocument 属性必须与当前节点的 ownerDocument 属性相同。


removeChild

从子节点列表中删除某个节点

1
XmlNode XmlElement.removeChild(XmlNode oldChild);

调用参数:

  • oldChild: XmlNode, 指定被删除的节点

返回结果:

  • XmlNode, 如删除成功,此方法可返回被删除的节点,如失败,则返回 null

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String XmlElement.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value XmlElement.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值