JavaTM 2 Platform
Standard Ed. 5.0

org.w3c.dom
接口 Node

所有已知子接口:
Attr, CDATASection, CharacterData, Comment, Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, Notation, ProcessingInstruction, Text
所有已知实现类:
IIOMetadataNode

public interface Node

Node 接口是整个文档对象模型的主要数据类型。它表示该文档树中的单个节点。当实现 Node 接口的所有对象公开处理子节点的方法时,不是实现 Node 接口的所有对象都有子节点。例如,Text 节点可能没有子节点,且将子节点添加到这样的节点将导致引发 DOMException

包括属性 nodeNamenodeValueattributes 作为一种获取节点信息的机制,无需向下强制转换为特定的派生接口。在没有对特定的 nodeType(如 ElementnodeValueCommentattributes)的属性的明显映射的情况下,这将返回 null。注意,特定的接口可能包含其他更方便的机制来获取和设置相关信息。

nodeNamenodeValueattributes 的值将根据以下节点类型的不同而不同。

Interface nodeName nodeValue attributes
Attr Attr.name 相同 Attr.value 相同 null
CDATASection "#cdata-section" CharacterData.data 相同,CDATA 节的内容 null
Comment "#comment" CharacterData.data 相同,该注释的内容 null
Document "#document" null null
DocumentFragment "#document-fragment" null null
DocumentType DocumentType.name 相同 null null
Element Element.tagName 相同 null NamedNodeMap
Entity entity name null null
EntityReference 引用的实体名称 null null
Notation notation name null null
ProcessingInstruction ProcessingInstruction.target 相同 ProcessingInstruction.data 相同 null
Text "#text" CharacterData.data 相同,该文本节点的内容 null

另请参见 Document Object Model (DOM) Level 3 Core Specification


字段摘要
static short ATTRIBUTE_NODE
          该节点为 Attr
static short CDATA_SECTION_NODE
          该节点为 CDATASection
static short COMMENT_NODE
          该节点为 Comment
static short DOCUMENT_FRAGMENT_NODE
          该节点为 DocumentFragment
static short DOCUMENT_NODE
          该节点为 Document
static short DOCUMENT_POSITION_CONTAINED_BY
          引用节点包含该节点。
static short DOCUMENT_POSITION_CONTAINS
          该节点包含引用节点。
static short DOCUMENT_POSITION_DISCONNECTED
          两个节点断开连接。
static short DOCUMENT_POSITION_FOLLOWING
          该节点在引用节点之后。
static short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
          对前后位置的确定是特定于实现的。
static short DOCUMENT_POSITION_PRECEDING
          第二个节点在引用节点之前。
static short DOCUMENT_TYPE_NODE
          该节点为 DocumentType
static short ELEMENT_NODE
          该节点为 Element
static short ENTITY_NODE
          该节点为 Entity
static short ENTITY_REFERENCE_NODE
          该节点为 EntityReference
static short NOTATION_NODE
          该节点为 Notation
static short PROCESSING_INSTRUCTION_NODE
          该节点为 ProcessingInstruction
static short TEXT_NODE
          该节点为 Text 节点。
 
方法摘要
 Node appendChild(Node newChild)
          将节点 newChild 添加到此节点的子节点列表的末尾。
 Node cloneNode(boolean deep)
          返回此节点的副本,即允当节点的一般复制构造方法。
 short compareDocumentPosition(Node other)
          就节点在文档中的位置并按照文档的顺序,比较引用节点(即在其上调用此方法的节点)与作为参数传递的节点。
 NamedNodeMap getAttributes()
          包含此节点的属性的 NamedNodeMap(如果它是 Element);否则为 null
 String getBaseURI()
          此节点的绝对基 URI;如果实现不能获得绝对 URI,则为 null
 NodeList getChildNodes()
          包含此节点的所有子节点的 NodeList
 Object getFeature(String feature, String version)
          此方法返回一个特定的对象,该对象实现指定功能或版本的特定 API,如下所述。
 Node getFirstChild()
          此节点的第一个子节点。
 Node getLastChild()
          此节点的最后一个节点。
 String getLocalName()
          返回此节点限定名称的本地部分。
 String getNamespaceURI()
          此节点的名称空间 URI;如果它未被指定,则返回 null(参见)。
 Node getNextSibling()
          直接在此节点之后的节点。
 String getNodeName()
          此节点的名称,取决于其类型;参见上表。
 short getNodeType()
          表示基础对象的类型的节点,如上所述。
 String getNodeValue()
          此节点的值,取决于其类型;参见上表。
 Document getOwnerDocument()
          与此节点相关的 Document 对象。
 Node getParentNode()
          此节点的父节点。
 String getPrefix()
          此节点的名称空间前缀;如果它未被指定,则为 null
 Node getPreviousSibling()
          直接在此节点之前的节点。
 String getTextContent()
          此属性返回此节点及其后代的文本内容。
 Object getUserData(String key)
          检索与此节点上的某个键相关联的对象。
 boolean hasAttributes()
          返回此节点(如果它是一个元素)是否具有任何属性。
 boolean hasChildNodes()
          返回此节点是否具有任何子节点。
 Node insertBefore(Node newChild, Node refChild)
          在现有子节点 refChild 之前插入节点 newChild
 boolean isDefaultNamespace(String namespaceURI)
          此方法检查指定的 namespaceURI 是否是默认名称空间。
 boolean isEqualNode(Node arg)
          测试两个节点是否相等。
 boolean isSameNode(Node other)
          返回此节点是否是与给定节点相同的节点。
 boolean isSupported(String feature, String version)
          测试 DOM 实现是否实现特定功能,且该功能是否受此节点支持,如下所述。
 String lookupNamespaceURI(String prefix)
          从此节点开始,查找与给定前缀相关的名称空间 URI。
 String lookupPrefix(String namespaceURI)
          从此节点开始,查找与给定名称空间 URI 相关的前缀。
 void normalize()
          将此 Node 之下完整的深层子树中所有 Text 节点(包括属性节点)放入只有结构(如元素、注释、处理指令、CDATA 节和实体引用)分隔 Text 节点的“常规”形式,也就是说,既没有相邻的 Text 节点,也没有空 Text 节点。
 Node removeChild(Node oldChild)
          从子节点列表中移除 oldChild 所指示的子节点,并将其返回。
 Node replaceChild(Node newChild, Node oldChild)
          将子节点列表中的子节点 oldChild 替换为 newChild,并返回 oldChild 节点。
 void setNodeValue(String nodeValue)
          此节点的值,取决于其类型;参见上表。
 void setPrefix(String prefix)
          此节点的名称空间前缀;如果未指定,则为 null
 void setTextContent(String textContent)
          此属性返回此节点及其后代的文本内容。
 Object setUserData(String key, Object data, UserDataHandler handler)
          将对象与此节点上的键相关联。
 

字段详细信息

ELEMENT_NODE

static final short ELEMENT_NODE
该节点为 Element

另请参见:
常量字段值

ATTRIBUTE_NODE

static final short ATTRIBUTE_NODE
该节点为 Attr

另请参见:
常量字段值

TEXT_NODE

static final short TEXT_NODE
该节点为 Text 节点。

另请参见:
常量字段值

CDATA_SECTION_NODE

static final short CDATA_SECTION_NODE
该节点为 CDATASection

另请参见:
常量字段值

ENTITY_REFERENCE_NODE

static final short ENTITY_REFERENCE_NODE
该节点为 EntityReference

另请参见:
常量字段值

ENTITY_NODE

static final short ENTITY_NODE
该节点为 Entity

另请参见:
常量字段值

PROCESSING_INSTRUCTION_NODE

static final short PROCESSING_INSTRUCTION_NODE
该节点为 ProcessingInstruction

另请参见:
常量字段值

COMMENT_NODE

static final short COMMENT_NODE
该节点为 Comment

另请参见:
常量字段值

DOCUMENT_NODE

static final short DOCUMENT_NODE
该节点为 Document

另请参见:
常量字段值

DOCUMENT_TYPE_NODE

static final short DOCUMENT_TYPE_NODE
该节点为 DocumentType

另请参见:
常量字段值

DOCUMENT_FRAGMENT_NODE

static final short DOCUMENT_FRAGMENT_NODE
该节点为 DocumentFragment

另请参见:
常量字段值

NOTATION_NODE

static final short NOTATION_NODE
该节点为 Notation

另请参见:
常量字段值

DOCUMENT_POSITION_DISCONNECTED

static final short DOCUMENT_POSITION_DISCONNECTED
两个节点断开连接。断开连接的节点之间的顺序始终特定于实现。

另请参见:
常量字段值

DOCUMENT_POSITION_PRECEDING

static final short DOCUMENT_POSITION_PRECEDING
第二个节点在引用节点之前。

另请参见:
常量字段值

DOCUMENT_POSITION_FOLLOWING

static final short DOCUMENT_POSITION_FOLLOWING
该节点在引用节点之后。

另请参见:
常量字段值

DOCUMENT_POSITION_CONTAINS

static final short DOCUMENT_POSITION_CONTAINS
该节点包含引用节点。包含的节点也总是在前面。

另请参见:
常量字段值

DOCUMENT_POSITION_CONTAINED_BY

static final short DOCUMENT_POSITION_CONTAINED_BY
引用节点包含该节点。包含的节点也总是在后面。

另请参见:
常量字段值

DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC

static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
对前后位置的确定是特定于实现的。

另请参见:
常量字段值
方法详细信息

getNodeName

String getNodeName()
此节点的名称,取决于其类型;参见上表。


getNodeValue

String getNodeValue()
                    throws DOMException
此节点的值,取决于其类型;参见上表。当将它定义为 null 时,设置它无效,包括节点为只读的情况。

抛出:
DOMException - DOMSTRING_SIZE_ERR: 在它返回的字符多于实现平台上 DOMString 变量中适合的字符时引发此异常。

setNodeValue

void setNodeValue(String nodeValue)
                  throws DOMException
此节点的值,取决于其类型;参见上表。当将它定义为 null 时,设置它无效,包括节点为只读的情况。

抛出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 当节点为只读且未将它定义为 null 时引发此异常。

getNodeType

short getNodeType()
表示基础对象的类型的节点,如上所述。


getParentNode

Node getParentNode()
此节点的父节点。所有节点(除 AttrDocumentDocumentFragmentEntityNotation)都可以有父节点。但是,如果刚创建节点且尚未添加到树,或如果已经从树中移除了它,此值为 null


getChildNodes

NodeList getChildNodes()
包含此节点的所有子节点的 NodeList。如果不存在子节点,则这是不包含节点的 NodeList


getFirstChild

Node getFirstChild()
此节点的第一个子节点。如果没有这样的节点,则返回 null


getLastChild

Node getLastChild()
此节点的最后一个节点。如果没有这样的节点,则返回 null


getPreviousSibling

Node getPreviousSibling()
直接在此节点之前的节点。如果没有这样的节点,则返回 null


getNextSibling

Node getNextSibling()
直接在此节点之后的节点。如果没有这样的节点,则返回 null


getAttributes

NamedNodeMap getAttributes()
包含此节点的属性的 NamedNodeMap(如果它是 Element);否则为 null


getOwnerDocument

Document getOwnerDocument()
与此节点相关的 Document 对象。这也是用于创建新节点的 Document 对象。当此节点为 Document 或未与任何 Document 一起使用的 DocumentType 时,返回 null


insertBefore

Node insertBefore(Node newChild,
                  Node refChild)
                  throws DOMException
在现有子节点 refChild 之前插入节点 newChild。如果 refChildnull,则将 newChild 插入到子节点列表的末尾。
如果 newChildDocumentFragment 对象,则以同样的顺序将其所有节点插入 refChild 之前。如果 newChild 已经存在于树中,则首先移除它。

注:将一个节点插入本身之前与实现有关。

参数:
newChild - 要插入的节点。
refChild - 引用节点,即必须在其前插入新节点的节点。
返回:
要插入的节点。
抛出:
DOMException - HIERARCHY_REQUEST_ERR:在以下情况下引发此异常:如果此节点为不允许 newChild 节点类型的子节点的类型;或者如果要插入的节点为此节点的一个祖先或此节点本身;或者如果此节点为 Document 类型且 DOM 应用程序试图插入第二个 DocumentTypeElement 节点。
WRONG_DOCUMENT_ERR:如果 newChild 是从不同的文档创建的,不是从创建此节点的文档创建的,则引发此异常。
NO_MODIFICATION_ALLOWED_ERR:如果此节点为只读的,或者如果要插入的节点的父节点为只读的,则引发此异常。
NOT_FOUND_ERR: 如果 refChild 不是此节点的子节点。
NOT_SUPPORTED_ERR: 如果此节点为 Document 类型,如果 DOM 实现不支持插入 DocumentTypeElement 节点,则可能引发此异常。

replaceChild

Node replaceChild(Node newChild,
                  Node oldChild)
                  throws DOMException
将子节点列表中的子节点 oldChild 替换为 newChild,并返回 oldChild 节点。
如果 newChildDocumentFragment 对象,则将 oldChild 替换为所有 DocumentFragment 子节点,它们都以相同的顺序插入。如果 newChild 已经存在于树中,则首先移除它。

注:将节点替换为它本身与实现有关。

参数:
newChild - 要在子节点列表中放入的新节点。
oldChild - 列表中被替换的节点。
返回:
替换的节点。
抛出:
DOMException - HIERARCHY_REQUEST_ERR: 在以下情况下引发此异常:如果此节点为不允许 newChild 节点类型的子节点的类型;或者如果要放入的节点为此节点的一个祖先或此节点本身;或者如果此节点为 Document 类型且替换操作的结果将第二个 DocumentTypeElement 添加到 Document 上。
WRONG_DOCUMENT_ERR: 如果 newChild 是从不同的文档创建的,不是从创建此节点的文档创建的,则引发此异常。
NO_MODIFICATION_ALLOWED_ERR: 如果此节点或新节点的父节点为只读的,则引发此异常。
NOT_FOUND_ERR: 如果 oldChild 不是此节点的子节点,则引发此异常。
NOT_SUPPORTED_ERR: 如果此节点为 Document 类型,则如果 DOM 实现不支持替换 DocumentType 子节点或 Element 子节点,则可能引发此异常。

removeChild

Node removeChild(Node oldChild)
                 throws DOMException
从子节点列表中移除 oldChild 所指示的子节点,并将其返回。

参数:
oldChild - 移除的节点。
返回:
移除的节点。
抛出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此节点为只读的,则引发此异常。
NOT_FOUND_ERR: 如果 oldChild 不是此节点的子节点。
NOT_SUPPORTED_ERR: 如果此节点为 Document 类型,则如果 DOM 实现不支持移除 DocumentType 子节点或 Element 子节点,则可能引发此异常。

appendChild

Node appendChild(Node newChild)
                 throws DOMException
将节点 newChild 添加到此节点的子节点列表的末尾。如果 newChild 已经存在于树中,则首先移除它。

参数:
newChild - 要添加的节点。如果它是 DocumentFragment 对象,则将文档片段的整个内容移动到此节点的子列表中
返回:
添加的节点。
抛出:
DOMException - HIERARCHY_REQUEST_ERR: 在以下情况下引发此异常:如果此节点为不允许 newChild 节点类型的子节点的类型;或者如果要追加的节点为此节点的一个祖先或此节点本身;或者如果此节点为 Document 类型且 DOM 应用程序试图追加第二个 DocumentTypeElement 节点。
WRONG_DOCUMENT_ERR: 如果 newChild 是从不同的文档创建的,不是从创建此节点的文档创建的,则引发此异常。
NO_MODIFICATION_ALLOWED_ERR:如果此节点为只读的,或者如果要插入的节点以前的父节点为只读的,则引发此异常。
NOT_SUPPORTED_ERR: 如果 newChild 节点为 Document 节点的子节点,则如果 DOM 实现不支持移除 DocumentType 子节点或 Element 子节点,则可能引发此异常。

hasChildNodes

boolean hasChildNodes()
返回此节点是否具有任何子节点。

返回:
如果此节点没有任何子节点,则返回 true;否则返回 false

cloneNode

Node cloneNode(boolean deep)
返回此节点的副本,即允当节点的一般复制构造方法。副本节点没有父节点(parentNodenull),且没有用户数据。与导入的节点相关的用户数据不携带过来。但是,如果随相关数据一起指定了任何 UserDataHandlers,则将在此方法返回之前用适当的参数调用这些处理程序。
克隆一个 Element 将复制所有属性及其值,包括由 XML 处理器生成的用来表示默认属性的那些属性和值,但此方法不复制它包含的任何子节点,除非它是一个深层克隆。这包括此 Element 所包含的文本,因为该文本包含在子 Text 节点中。直接克隆 Attr(相对于作为 Element 克隆操作的一部分进行的克隆)将返回指定的属性(specifiedtrue)。克隆一个 Attr 总是要克隆其子节点,因为它们表示其值,不管这是否是深层克隆。如果相应的 Entity 可用,则克隆 EntityReference 将自动构造其子树,不管这是否是深层克隆。克隆任何其他类型的节点只返回此节点的副本。
注意,克隆一个不可变子树会导致可变副本,但 EntityReference 克隆的子节点应为只读的。此外,还要指定未指定的 Attr 节点的克隆。并且,克隆 DocumentDocumentTypeEntityNotation 节点与实现有关。

参数:
deep - 如果为 true,则在指定节点下递归式克隆子树;如果为 false,则仅克隆节点本身(及其属性,如果它是 Element)。
返回:
副本节点。

normalize

void normalize()
将此 Node 之下完整的深层子树中所有 Text 节点(包括属性节点)放入只有结构(如元素、注释、处理指令、CDATA 节和实体引用)分隔 Text 节点的“常规”形式,也就是说,既没有相邻的 Text 节点,也没有空 Text 节点。这可以用于确保一个文档的 DOM 视图相同,好像它是保存和重新加载的一样,并且在使用依赖特定文档树结构的操作(如 XPointer [XPointer] 查询)时此方法非常有用。如果连接到 Node.ownerDocumentDOMConfiguration 对象的参数 "normalize-characters" 为 true,则此方法还将完全标准化 Text 节点的字符。

注:在文档包含 CDATASections 的情况下,单独的标准化操作可能不充分,因为 XPointer 不区分 Text 节点和 CDATASection 节点。


isSupported

boolean isSupported(String feature,
                    String version)
测试 DOM 实现是否实现特定功能,且该功能是否受此节点支持,如下所述。

参数:
feature - 要测试的功能的名称。
version - 这是要测试的功能的版本号。
返回:
如果在此节点上支持指定的功能,则返回 true;否则,返回 false
从以下版本开始:
DOM Level 2

getNamespaceURI

String getNamespaceURI()
此节点的名称空间 URI;如果它未被指定,则返回 null(参见)。
这不是计算的值,计算的值是基于检查范围内名称空间声明的名称空间查询的结果。它只是创建时给定的名称空间 URI。
对于除 ELEMENT_NODEATTRIBUTE_NODE 之外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,如 Document.createElement(),这始终为 null

注:根据 Namespaces in XML 规范 [XML Namespaces],属性不从它连接到的元素继承其名称空间。如果未显式给定一个属性名称空间,则它只是没有名称空间。

从以下版本开始:
DOM Level 2

getPrefix

String getPrefix()
此节点的名称空间前缀;如果它未被指定,则为 null。当将它定义为 null 时,设置它无效,包括节点为只读的情况。
注意,在允许时设置此属性将更改 nodeName 属性,它将在可用时保存限定名称,以及 ElementAttr 接口的 tagNamename 属性。
将前缀设置为 null 会使它不被指定,将它设置为空字符串与实现有关。
还要注意,更改已知具有默认值的属性的前缀不会使具有默认值和初始前缀的新属性出现,因为 namespaceURIlocalName 没有发生变化。
对于除 ELEMENT_NODEATTRIBUTE_NODE 之外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,如 Document 接口中的 createElement,这始终为 null

从以下版本开始:
DOM Level 2

setPrefix

void setPrefix(String prefix)
               throws DOMException
此节点的名称空间前缀;如果未指定,则为 null。当将它定义为 null 时,设置它无效,包括节点为只读的情况。
注意,在允许时设置此属性将更改 nodeName 属性,它将在可用时保存限定名称,以及 ElementAttr 接口的 tagNamename 属性。
将前缀设置为 null 会使它不被指定,将它设置为空字符串与实现有关。
还要注意,更改已知具有默认值的属性的前缀不会使具有默认值和初始前缀的新属性出现,因为 namespaceURIlocalName 不发生变化。
对于除 ELEMENT_NODEATTRIBUTE_NODE 之外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,如 Document 接口中的 createElement,这始终为 null

抛出:
DOMException - INVALID_CHARACTER_ERR: 根据在 Document.xmlVersion 属性中指定的正在使用的 XML 版本,如果指定的前缀包含非法字符,则引发此异常。
NO_MODIFICATION_ALLOWED_ERR: 如果此节点为只读,则引发此异常。
NAMESPACE_ERR:在以下情况下引发此异常:如果按照 XML 规范中的名称空间,指定的 prefix 格式错误;如果此节点的 namespaceURInull;如果指定的前缀为 "xml" 且此节点的 namespaceURI 不同于 "http://www.w3.org/XML/1998/namespace";如果此节点为属性,指定前缀为 "xmlns" 且此节点的 namespaceURI 不同于 "http://www.w3.org/2000/xmlns/";或者如果此节点为属性且此节点的 qualifiedName 为 "xmlns" [XML Namespaces]。
从以下版本开始:
DOM Level 2

getLocalName

String getLocalName()
返回此节点限定名称的本地部分。
对于除 ELEMENT_NODEATTRIBUTE_NODE 之外的任何类型的节点以及使用 DOM Level 1 方法创建的节点,如 Document.createElement(),这始终为 null

从以下版本开始:
DOM Level 2

hasAttributes

boolean hasAttributes()
返回此节点(如果它是一个元素)是否具有任何属性。

返回:
如果此节点具有任何属性,则返回 true;否则返回 false
从以下版本开始:
DOM Level 2

getBaseURI

String getBaseURI()
此节点的绝对基 URI;如果实现不能获得绝对 URI,则为 null。此值如描述的那样计算。但是,当 Document 支持功能 "HTML" [DOM Level 2 HTML] 时,首先使用 HTML BASE 元素(如果有)的 href 属性的值计算基 URI;否则,使用 Document 接口中的 documentURI 属性的值计算。

从以下版本开始:
DOM Level 3

compareDocumentPosition

short compareDocumentPosition(Node other)
                              throws DOMException
就节点在文档中的位置并按照文档的顺序,比较引用节点(即在其上调用此方法的节点)与作为参数传递的节点。

参数:
other - 与引用节点比较的节点。
返回:
返回相对于引用节点如何定位节点。
抛出:
DOMException - NOT_SUPPORTED_ERR: 当被比较的节点来自不同的 DOM 实现,未调整该 DOM 实现以返回一致的特定于实现的结果时。
从以下版本开始:
DOM Level 3

getTextContent

String getTextContent()
                      throws DOMException
此属性返回此节点及其后代的文本内容。将它定义为 null 时,设置它无效。设置后,移除此节点可能有的任何可能的子节点,并且如果新字符串不为空或 null,则用包含此属性设置的字符串的单个 Text 节点替换。
获取后,不执行序列化,且返回的字符串不包含任何标记。不执行空白规范化且在元素内容中返回的字符串不包含空白(参见属性 Text.isElementContentWhitespace)。类似地,设置后,也不执行解析,且以纯文本内容形式采用输入字符串。
根据下面定义的节点类型,返回的字符串由此节点的文本内容生成:
节点类型 内容
ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE 串接每个子节点的 textContent 属性值,不包括 COMMENT_NODE 和 PROCESSING_INSTRUCTION_NODE 节点。如果该节点没有子节点,则这是空字符串。
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null

抛出:
DOMException - DOMSTRING_SIZE_ERR:在它返回的字符多于实现平台上 DOMString 变量中适合的字符时引发此异常。
从以下版本开始:
DOM Level 3

setTextContent

void setTextContent(String textContent)
                    throws DOMException
此属性返回此节点及其后代的文本内容。将它定义为 null 时,设置它无效。设置后,移除此节点可能有的任何可能的子节点,并且,如果新字符串不为空或 null,则用包含此属性设置的字符串的单个 Text 节点替换。
获取后,不执行序列化,且返回的字符串不包含任何标记。不执行空白规范化,且返回的字符串在元素内容中不包含空白(参见属性 Text.isElementContentWhitespace)。类似地,设置后,也不执行解析,且以纯文本内容形式采用输入字符串。
根据下面定义的节点类型,返回的字符串由此节点的文本内容生成:
节点类型 内容
ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE 串接每个子节点的 textContent 属性值,不包括 COMMENT_NODE 和 PROCESSING_INSTRUCTION_NODE 节点。如果该节点没有子节点,则这是空字符串。
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE nodeValue
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE null

抛出:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 节点为只读的时引发此异常。
从以下版本开始:
DOM Level 3

isSameNode

boolean isSameNode(Node other)
返回此节点是否是与给定节点相同的节点。
此方法提供一种方法来确定由实现返回的两个 Node 引用是否引用同一个对象。当两个 Node 引用引用同一个对象时,即使是通过代理,也可能完全可交换地使用这些引用,例如所有属性都有相同的值且在任何引用上调用同一个 DOM 方法总是起完全相同的作用。

参数:
other - 要测试的节点。
返回:
如果节点相同,则返回 true;否则,返回 false
从以下版本开始:
DOM Level 3

lookupPrefix

String lookupPrefix(String namespaceURI)
从此节点开始,查找与给定名称空间 URI 相关的前缀。此方法忽略默认名称空间声明。
参见此方法使用的算法的详细信息。

参数:
namespaceURI - 要查找的名称空间 URI。
返回:
如果已找到,则返回相关的名称空间前缀;如果未找到任何前缀,则返回 null。如果一个以上的前缀与名称空间前缀相关,则返回的名称空间前缀与实现有关。
从以下版本开始:
DOM Level 3

isDefaultNamespace

boolean isDefaultNamespace(String namespaceURI)
此方法检查指定的 namespaceURI 是否是默认名称空间。

参数:
namespaceURI - 要查找的名称空间 URI。
返回:
如果指定的 namespaceURI 为默认名称空间,则返回 true;否则,返回 false
从以下版本开始:
DOM Level 3

lookupNamespaceURI

String lookupNamespaceURI(String prefix)
从此节点开始,查找与给定前缀相关的名称空间 URI。
有关此方法使用的算法的详细信息,请参见。

参数:
prefix - 要查找的前缀。如果此参数为 null,则此方法将返回默认的名称空间 URI(如果有)。
返回:
返回相关的名称空间 URI;如果未找到,则返回 null
从以下版本开始:
DOM Level 3

isEqualNode

boolean isEqualNode(Node arg)
测试两个节点是否相等。
此方法测试节点的相等性,不是测试是否相同(即两个节点是否为对同一对象的引用),相同性可以使用 Node.isSameNode() 测试。所有相同的节点也将相等,尽管反之则不然。
当且仅当满足以下条件时,两个节点才相等:
两个 DocumentType 节点要是相等,还必须满足以下条件:
另一方面,以下内容不影响相等性:ownerDocumentbaseURIparentNode 属性;Attr 节点的 specified 属性;AttrElement 节点的 schemaTypeInfo 属性;Text 节点的 Text.isElementContentWhitespace 属性;以及在节点上注册的任何用户数据和事件侦听器。

注:通常,在相等性检查的考虑中,上面描述中未提到的任何情况都是无关紧要的。注意,此规范的未来版本可能考虑更多属性,并且期望遵守此规范的实现进行相应的更新。

参数:
arg - 与其比较相等性的节点。
返回:
如果节点相等,则返回 true;否则,返回 false
从以下版本开始:
DOM Level 3

getFeature

Object getFeature(String feature,
                  String version)
此方法返回一个特定的对象,该对象实现指定功能或版本的特定 API,如下所述。该特殊对象也可以通过使用特定于绑定的强制转换方法获得,但不是必须期望这样,如文中讨论的那样。此方法还允许实现提供不支持 Node 接口的特殊对象。

参数:
feature - 所请求的功能的名称。注意,追加到功能名称的任何加号 "+" 将被忽略,因为它在此方法的上下文中无关紧要。
version - 这是要测试的功能版本号。
返回:
返回实现指定功能和版本的特定 API 的对象(如果有);如果不存在实现与该功能相关的接口的对象,则返回 null。如果此方法返回的 DOMObject 实现 Node 接口,则它必须委托给主要核心 Node 且不返回与主要核心 Node 不一致的结果,如属性、子节点,等等。
从以下版本开始:
DOM Level 3

setUserData

Object setUserData(String key,
                   Object data,
                   UserDataHandler handler)
将对象与此节点上的键相关联。该对象以后可以通过使用相同键的调用 getUserData 从此节点检索到。

参数:
key - 将该对象与其关联的键。
data - 与给定键相关联的对象;为 null 时表示移除与任何现有的与该键的关联。
handler - 与该键关联的处理程序,或 null
返回:
返回以前与此节点上的给定键关联的 DOMUserData;如果没有,则返回 null
从以下版本开始:
DOM Level 3

getUserData

Object getUserData(String key)
检索与此节点上的某个键相关联的对象。必须首先通过使用相同键的调用 setUserData 将该对象设置到此节点。

参数:
key - 该对象所关联的键。
返回:
返回与此节点上的给定键关联的 DOMUserData;如果没有,则返回 null
从以下版本开始:
DOM Level 3

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策