对象 XmlDocument

XmlDocument 对象代表整个 XML 文档

XmlDocument 对象是一棵文档树的根,可为我们提供对文档数据的最初(或最顶层)的访问入口。 用于元素节点、文本节点、注释、处理指令等均无法存在于 XmlDocument 之外, XmlDocument 对象同样提供了创建这些对象的方法。 XmlNode 对象提供了一个 ownerDocument 属性,此属性可把它们与在其中创建它们的 XmlDocument 关联起来。

继承关系

构造函数

XmlDocument

构造一个 XmlDocument 对象

new XmlDocument(String type = "text/xml");

调用参数:

成员属性

inputEncoding

String, 返回用于文档的编码(在解析时)

readonly String XmlDocument.inputEncoding;

xmlStandalone

Boolean, 设置或返回文档是否为 standalone

Boolean XmlDocument.xmlStandalone;

xmlVersion

String, 设置或返回文档的 XML 版本

String XmlDocument.xmlVersion;

doctype

XmlDocumentType, 返回与文档相关的文档类型声明(Document Type Declaration)

readonly XmlDocumentType XmlDocument.doctype;

对于没有 DTD 的 XML 文档,则返回 null。此属性可提供对 XmlDocumentType 对象( XmlDocument 的一个子节点)的直接访问。


documentElement

XmlElement, 返回文档的根节点

readonly XmlElement XmlDocument.documentElement;

XmlElement, 返回 HTML 文档的 head 节点,仅在 html 模式有效

readonly XmlElement XmlDocument.head;

title

String, 返回 HTML 文档的 title 节点的内容,仅在 html 模式有效

readonly String XmlDocument.title;

body

XmlElement, 返回 HTML 文档的 body 节点,仅在 html 模式有效

readonly XmlElement XmlDocument.body;

nodeType

Integer, 返回节点的节点类型

readonly Integer XmlDocument.nodeType;

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


nodeName

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

readonly String XmlDocument.nodeName;

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


nodeValue

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

String XmlDocument.nodeValue;

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


ownerDocument

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

readonly XmlDocument XmlDocument.ownerDocument;

parentNode

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

readonly XmlNode XmlDocument.parentNode;

childNodes

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

readonly XmlNodeList XmlDocument.childNodes;

firstChild

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

readonly XmlNode XmlDocument.firstChild;

lastChild

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

readonly XmlNode XmlDocument.lastChild;

previousSibling

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

readonly XmlNode XmlDocument.previousSibling;

nextSibling

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

readonly XmlNode XmlDocument.nextSibling;

成员函数

load

通过解析一个 XML/HTML 字符串来组成该文档,不支持多语种

XmlDocument.load(String source);

调用参数:


通过解析一个二进制 XML/HTML 字符串来组成该文档,并根据语种自动转换

XmlDocument.load(Buffer source);

调用参数:


getElementsByTagName

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

XmlNodeList XmlDocument.getElementsByTagName(String tagName);

调用参数:

返回结果:

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


getElementsByTagNameNS

返回带有指定命名空间和名称的所有元素的一个节点列表

XmlNodeList XmlDocument.getElementsByTagNameNS(String namespaceURI,
    String localName);

调用参数:

返回结果:

该方法与 getElementsByTagName() 方法相似,只是它根据命名空间和名称来检索元素。


getElementById

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

XmlElement XmlDocument.getElementById(String id);

调用参数:

返回结果:

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


getElementsByClassName

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

XmlNodeList XmlDocument.getElementsByClassName(String className);

调用参数:

返回结果:

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


createElement

创建元素节点

XmlElement XmlDocument.createElement(String tagName);

调用参数:

返回结果:


createElementNS

创建带有指定命名空间的元素节点

XmlElement XmlDocument.createElementNS(String namespaceURI,
    String qualifiedName);

调用参数:

返回结果:


createTextNode

创建文本节点

XmlText XmlDocument.createTextNode(String data);

调用参数:

返回结果:


createComment

创建注释节点

XmlComment XmlDocument.createComment(String data);

调用参数:

返回结果:


createCDATASection

创建 XmlCDATASection 节点

XmlCDATASection XmlDocument.createCDATASection(String data);

调用参数:

返回结果:


createProcessingInstruction

创建 XmlProcessingInstruction 节点

XmlProcessingInstruction XmlDocument.createProcessingInstruction(String target,
    String data);

调用参数:

返回结果:


hasChildNodes

查询是否存在子节点

Boolean XmlDocument.hasChildNodes();

返回结果:


normalize

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

XmlDocument.normalize();

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


cloneNode

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

XmlNode XmlDocument.cloneNode(Boolean deep = true);

调用参数:

返回结果:

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


lookupPrefix

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

String XmlDocument.lookupPrefix(String namespaceURI);

调用参数:

返回结果:


lookupNamespaceURI

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

String XmlDocument.lookupNamespaceURI(String prefix);

调用参数:

返回结果:


insertBefore

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

XmlNode XmlDocument.insertBefore(XmlNode newChild,
    XmlNode refChild);

调用参数:

返回结果:

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


insertAfter

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

XmlNode XmlDocument.insertAfter(XmlNode newChild,
    XmlNode refChild);

调用参数:

返回结果:

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


appendChild

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

XmlNode XmlDocument.appendChild(XmlNode newChild);

调用参数:

返回结果:

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


replaceChild

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

XmlNode XmlDocument.replaceChild(XmlNode newChild,
    XmlNode oldChild);

调用参数:

返回结果:

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


removeChild

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

XmlNode XmlDocument.removeChild(XmlNode oldChild);

调用参数:

返回结果:


dispose

强制回收对象,调用此方法后,对象资源将立即释放

XmlDocument.dispose();

equals

比较当前对象与给定的对象是否相等

Boolean XmlDocument.equals(object expected);

调用参数:

返回结果:


toString

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

String XmlDocument.toString();

返回结果:


toJSON

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

Value XmlDocument.toJSON(String key = "");

调用参数:

返回结果:


valueOf

返回对象本身的数值

Value XmlDocument.valueOf();

返回结果: