XML DOM - Document 对象


XML DOM - Document对象

本文将介绍XML DOM的Document对象,该对象用于在HTML和XML文档中表示整个文档,是XML DOM中的顶层对象。我们将深入探讨Document对象的结构、方法和属性。

Document对象

Document对象是XML DOM中最顶层的对象,表示整个文档。Document对象是HTML或XML文档中的根节点,不属于任何其他节点的子节点。可以通过Document对象获取或更改文档中的所有节点。

Document对象可以使用DOM方法和属性来遍历文档中的所有元素、属性和文本节点。

Document 对象的结构

Document对象包含以下属性:

  • documentElement:文档的根元素。例如XML文档中的根元素就是documentElement,而在HTML文档中就是body元素。
  • doctype:获取文档类型定义(DTD)名称。如果没有定义DTD,则返回null。
  • implementation:提供与实现相关的信息,如创建文档的API版本号和名称。
  • nodeName:返回"#document",表示为Document类型。

Document对象包含以下方法:

  • getElementById():通过元素ID查找元素。
  • getElementsByTagName():通过标签名查找元素。
  • createElement():创建元素。
  • createTextNode():创建文本节点。
  • createAttribute():创建属性节点。
  • importNode():从其他文档导入节点。

Document 对象的方法

getElementById

document.getElementById() 方法可返回对拥有指定ID 的第一个对象的引用,如果找不到指定的对象,则返回 null。

document.getElementById(elementID)

其中elementID表示所要查找的元素的ID。

getElementsByTagName

getElementsByTagName() 方法可返回文档中拥有指定标签名的所有元素的集合。返回值是一个 HTMLCollection 对象。

document.getElementsByTagName(tagname)

其中tagname表示标签名。

createElement

createElement() 方法可创建元素节点。创建后,必须使用 appendChild() 方法将元素追加到其他元素中。

document.createElement(tagname)

其中tagname表示要创建元素的名称。

createTextNode

createTextNode() 方法可创建文本节点。

document.createTextNode(text)

其中text表示要创建的文本内容。

createAttribute

createAttribute() 方法可创建属性节点。

document.createAttribute(name)

其中name表示属性的名称。

importNode

importNode() 方法将指定节点从另一个文档中导入到当前文档。

document.importNode(node, deep)

其中node表示要导入的节点,deep表示是否也复制所有的子节点。

Document 对象的属性

documentElement

documentElement 属性可返回文档的根节点。

document.documentElement

例如,对于以下XML代码:

<?xml version="1.0"?>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

则document.documentElement指向note元素。

doctype

doctype 属性返回文档类型定义 (DTD) 的名称。

document.doctype.name

例如,对于以下DOCTYPE声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

则document.doctype.name将返回"xhtml-strict"。

implementation

implementation 属性返回关于XML DOM实现的信息。

document.implementation

例如,以下代码将输出XML DOM的版本号:

alert(document.implementation.xmlVersion);

nodeName

nodeName 属性返回节点名称。对于Document节点,nodeName 始终返回 “#document”。

document.nodeName

小结

Document对象是XML DOM的顶层对象,表示整个文档,用于遍历和操作文档中的所有节点。Document对象包含许多有用的方法和属性,例如getElementById、getElementsByTagName和createElement等方法,以及documentElement、doctype、implementation和nodeName等属性。通过调用这些方法和属性,可以轻松地遍历和修改XML或HTML文档的内容。