public interface Node
Node接口是整个文档对象模型的主要类型。它表示文档树中的一个节点。而所有对象实现的接口的方法
Node暴露与孩子打交道,不是所有的对象实施
Node接口可能有孩子。例如,
Text节点可能没有孩子,加上孩子这样的节点的结果在
DOMException升起。
属性nodeName,nodeValue和attributes包括作为一种机制来获取节点信息没有铸造到特定的派生接口。在某些情况下是没有明显的属性映射为一个特定的nodeType(例如,nodeValue为Comment一Element或attributes),返回null。注意专业接口可以包含额外的和更方便的机制来获取和设置相关信息。
对nodeName,nodeValue值,和attributes根据不同的节点类型如下:
| 接口 | nodeName | nodeValue | attributes |
|---|---|---|---|
Attr |
same as Attr.name |
same as Attr.value |
null |
CDATASection |
"#cdata-section" |
same as CharacterData.data, the content of the CDATA Section |
null |
Comment |
"#comment" |
same as CharacterData.data, the content of the comment |
null |
Document |
"#document" |
null |
null |
DocumentFragment |
"#document-fragment" |
null |
null |
DocumentType |
same as DocumentType.name |
null |
null |
Element |
same as Element.tagName |
null |
NamedNodeMap |
Entity |
entity name | null |
null |
EntityReference |
name of entity referenced | null |
null |
Notation |
notation name | null |
null |
ProcessingInstruction |
same as ProcessingInstruction.target |
same as ProcessingInstruction.data |
null |
Text |
"#text" |
same as CharacterData.data, the content of the text node |
null |
| Modifier and Type | Field and Description |
|---|---|
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节点。
|
| Modifier and Type | Method and Description |
|---|---|
Node |
appendChild(Node newChild)
将节点添加
newChild对这个子节点列表的末尾。
|
Node |
cloneNode(boolean deep)
返回这个节点的副本,即,作为节点的一个通用的复制构造函数。
|
short |
compareDocumentPosition(Node other)
比较参考节点,即
|
NamedNodeMap |
getAttributes()
一个
NamedNodeMap包含该节点的属性(如果它是一个
Element)或
null否则。
|
String |
getBaseURI()
绝对的基URI本节点或
null如果实现没能获得绝对的URI。
|
NodeList |
getChildNodes()
一个
NodeList包含的所有子节点。
|
Object |
getFeature(String feature, String version)
此方法返回一个专门的对象,它实现了指定的功能和版本的专门的接口,如。
|
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)
插入节点
newChild之前已有的子节点
refChild。
|
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()
把所有的
Text结子在树下面这
Node全深度,包括属性节点,成为一个“正常”的形式在结构(如元素、评论、处理指令、CDATA节和实体引用)分离
Text节点,即,既没有相邻的节点和节点
Text空
Text。
|
Node |
removeChild(Node oldChild)
删除子节点表示的
oldChild从孩子的名单,并返回它。
|
Node |
replaceChild(Node newChild, Node oldChild)
在名单上的孩子
newChild代替子节点
oldChild,并返回
oldChild节点。
|
void |
setNodeValue(String nodeValue)
这个节点的值,取决于它的类型,见上面的表。
|
void |
setPrefix(String prefix)
这个节点的命名空间前缀,或者如果它是不确定的
null。
|
void |
setTextContent(String textContent)
此属性返回此节点及其子节点的文本内容。
|
Object |
setUserData(String key, Object data, UserDataHandler handler)
将一个对象关联到这个节点上的一个键。
|
static final short ELEMENT_NODE
Element。
static final short ATTRIBUTE_NODE
Attr。
static final short TEXT_NODE
Text节点。
static final short CDATA_SECTION_NODE
CDATASection。
static final short ENTITY_REFERENCE_NODE
EntityReference。
static final short ENTITY_NODE
Entity。
static final short PROCESSING_INSTRUCTION_NODE
ProcessingInstruction。
static final short COMMENT_NODE
Comment。
static final short DOCUMENT_NODE
Document。
static final short DOCUMENT_TYPE_NODE
DocumentType。
static final short DOCUMENT_FRAGMENT_NODE
DocumentFragment。
static final short NOTATION_NODE
Notation。
static final short DOCUMENT_POSITION_DISCONNECTED
static final short DOCUMENT_POSITION_PRECEDING
static final short DOCUMENT_POSITION_FOLLOWING
static final short DOCUMENT_POSITION_CONTAINS
static final short DOCUMENT_POSITION_CONTAINED_BY
static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
String getNodeName()
String getNodeValue() throws DOMException
null,设置没有效果,包括该节点是否是只读的。
DOMException - domstring_size_err:当它将比适合的实现平台
DOMString可变字符。
void setNodeValue(String nodeValue) throws DOMException
null,设置没有效果,包括该节点是否是只读的。
DOMException - no_modification_allowed_err:当节点是只读的,如果它不定义为
null。
short getNodeType()
Node getParentNode()
Attr,
Document,
DocumentFragment,
Entity,和
Notation可能父母。然而,如果一个节点被创建并没有添加到树上,或已从树中删除,这是
null。
NodeList getChildNodes()
NodeList包含的所有子节点。如果没有孩子,这是一个
NodeList包含任何节点。
Node getFirstChild()
null。
Node getLastChild()
null。
Node getPreviousSibling()
null。
Node getNextSibling()
null。
NamedNodeMap getAttributes()
NamedNodeMap包含该节点的属性(如果它是一个
Element)或
null否则。
Document getOwnerDocument()
Document对象。这也可以用来创建新的节点
Document对象。当这个节点是一个
Document或
DocumentType不使用任何
Document呢,这是
null。
Node insertBefore(Node newChild, Node refChild) throws DOMException
newChild之前已有的子节点
refChild。如果
refChild是
null儿童,在列表的末尾插入
newChild。
newChild是
DocumentFragment对象,所有的孩子都插入,以相同的顺序,在
refChild。如果
newChild已经在树中,首先删除。
注:插入一个节点之前本身是依赖于实现的。
newChild -插入节点。
refChild -参考节点,即,在这之前,新的节点必须插入节点。
DOMException - hierarchy_request_err:如果这个节点是一个类型,不允许的
newChild节点类型的孩子,如果要插入的节点是该节点的祖先节点或节点本身,或者如果该节点类型
Document和DOM应用程序试图插入一个二
DocumentType或
Element节点。
newChild是一比一,创造了这个节点的不同文件创建了。
refChild不是这个节点的孩子了。
Document,这可能会产生异常,如果DOM实现不支持插入一个
DocumentType或
Element节点。
Node replaceChild(Node newChild, Node oldChild) throws DOMException
newChild代替子节点
oldChild,并返回
oldChild节点。
newChild是
DocumentFragment对象,
oldChild是由所有的
DocumentFragment孩子所取代,这是插在同一顺序。如果
newChild已经在树中,首先删除。
注:更换节点本身是依赖于实现的。
newChild -放在孩子的新的节点列表。
oldChild的节点列表中的替换。
DOMException - hierarchy_request_err:如果这个节点是一个类型,不允许的
newChild节点类型的孩子,如果放在节点这一节点的祖先节点或节点本身,或者如果该节点的类型是
Document和置换的结果将在
Document节点的第二
DocumentType或
Element。
newChild是一比一,创造了这个节点的不同文件创建了。
oldChild不是这个节点的孩子了。
Document,这可能会产生异常,如果DOM实现不支持更换的
DocumentType
Element孩子或孩子。
Node removeChild(Node oldChild) throws DOMException
oldChild从孩子的名单,并返回它。
oldChild -节点被删除。
DOMException - no_modification_allowed_err:如果这个节点是只读了。
oldChild不是这个节点的孩子了。
Document,这个异常可能是如果DOM实现不支持的
DocumentType孩子或孩子长大
Element去除。
Node appendChild(Node newChild) throws DOMException
newChild对这个子节点列表的末尾。如果
newChild已经在树中,首先删除。
newChild -添加节点。如果它是一个
DocumentFragment对象的文档片段的全部内容都搬进了这个节点的子列表
DOMException - hierarchy_request_err:如果这个节点是一个类型,不允许的
newChild节点类型的孩子,或如果附加的节点是这个节点的祖先节点或节点本身,或者如果该节点类型
Document和DOM应用程序试图添加一个第二
DocumentType或
Element节点。
newChild是一比一,创造了这个节点的不同文件创建了。
newChild节点的
Document节点的子节点,这可能会产生异常,如果DOM实现不支持搬迁的
DocumentType
Element孩子或孩子。
boolean hasChildNodes()
true此节点是否有孩子,
false否则。
Node cloneNode(boolean deep)
parentNode是
null),没有用户数据。与导入节点相关的用户数据不被执行。然而,如果任何
UserDataHandlers已规定以及相关数据的处理程序将调用相应的参数,在该方法返回。
Element复制所有属性和它们的值,包括那些由XML处理器生成代表默认属性,但这种方法不会复制任何孩子有除非是深克隆。这包括中包含的
Element自文本包含在一个孩子
Text节点文本。克隆一个
Attr直接,与被克隆的
Element克隆操作,返回一个指定的属性(
specified是
true)。克隆一个
Attr总是克隆它的孩子,因为他们代表了它的价值,不管这是一个深层克隆或不。克隆一个
EntityReference自动构建其子树如果相应的
Entity是可用的,无论这是否是一个深克隆或不。克隆任何其他类型的节点只返回此节点的一个副本。
EntityReference克隆孩子是只读的。此外,规定了未
Attr节点克隆。而且,克隆
Document,
DocumentType,
Entity,和
Notation节点是依赖于实现的。
deep -如果
true,递归克隆指定节点下的子树;如果
false,克隆该节点本身(和它的属性,如果它是一个
Element)。
void normalize()
Text结子在树下面这
Node全深度,包括属性节点,成为一个“正常”的形式在结构(如元素、评论、处理指令、CDATA节和实体引用)分离
Text节点,即,既没有相邻的节点和节点
Text空
Text。这可确保文档的DOM视图如保存和重新加载相同,和是有用的当操作(例如XPointer [
XPointer ]查找),取决于特定的文档树结构是用。如果参数“规范汉字”连接到
Node.ownerDocument的
DOMConfiguration对象是
true,这种方法也会完全正常化的
Text节点的特性。
如果文档包含CDATASections 注:,规范操作是不够的,因为xpointers不区分节点和节点之间的Text CDATASection。
boolean isSupported(String feature, String version)
feature特征的名字来测试。
version -这是测试功能的版本号。
true如果指定的功能是支持在这个节点上,
false否则。
String getNamespaceURI()
null如果不详(见)。
ELEMENT_NODE和
ATTRIBUTE_NODE和节点与1级DOM方法创建的,如
Document.createElement(),这始终是
null。
注:每个XML命名空间规范[ XML Namespaces ]属性并不从它附加到元素继承其命名空间。如果一个属性没有显式给定一个命名空间,它根本没有命名空间。
String getPrefix()
null。当它被定义为
null,设置没有效果,包括该节点是否是只读的。
nodeName属性变化,持有合格的名称,以及
tagName和
name属性的
Element和
Attr接口,适用时。
null使得它没有指定,它设置为一个空字符串是依赖于实现的。
namespaceURI和
localName不改变。
ELEMENT_NODE和
ATTRIBUTE_NODE和节点与1级DOM方法创建的,如从
Document接口
createElement,这始终是
null。
void setPrefix(String prefix) throws DOMException
null。当它被定义为
null,设置没有效果,包括该节点是否是只读的。
nodeName属性变化,持有合格的名称,以及
tagName和
name属性的
Element和
Attr接口,适用时。
null使得它没有指定,它设置为一个空字符串是依赖于实现的。
namespaceURI和
localName不改变。
ELEMENT_NODE和
ATTRIBUTE_NODE和节点与1级DOM方法创建的,如从
Document接口
createElement,这始终是
null。
DOMException - invalid_character_err:如果指定的前缀包含非法字符根据在使用中的
Document.xmlVersion属性指定的XML版本了。
prefix畸形每命名空间提出,如果这个节点的
namespaceURI是
null,如果指定的前缀是“XML”,这个节点的
namespaceURI不同于“
http://www.w3.org/XML/1998/namespace”,如果这个节点是属性和指定的前缀是“xmlns”这个节点的
namespaceURI不同于“
http://www.w3.org/2000/xmlns/”,或者如果该节点是属性和
qualifiedName这个节点是“xmlns”[
XML Namespaces ]。
String getLocalName()
ELEMENT_NODE和
ATTRIBUTE_NODE和节点与1级DOM方法创建的,如
Document.createElement(),这始终是
null。
boolean hasAttributes()
true此节点是否有任何属性,
false否则。
String getBaseURI()
null如果实现没能获得绝对的URI。此值被计算为所述。然而,当
Document支持特征的“HTML”[
DOM Level 2 HTML ],基URI如果用第一对HTML基础元素的href属性的值计算,并对
documentURI属性值从
Document界面否则。
short compareDocumentPosition(Node other) throws DOMException
other -节点与参考节点的比较。
DOMException - not_supported_err:当比较不同的DOM节点不协调一致的具体执行结果返回。
String getTextContent() throws DOMException
null,设置没有效果。在设置,这个节点可以有任何可能的孩子后,如果新的字符串是否为空或
null,取而代之的是一个单一的
Text节点包含字符串属性设置为。
Text.isElementContentWhitespace)。同样,在设置上,也没有进行解析,输入字符串作为纯文本内容。
| Node type | Content |
|---|---|
| ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE | concatenation of the textContent attribute value of every child node, excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the node has no children. |
| TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE | nodeValue |
| DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE | null |
DOMException - domstring_size_err:当它将比适合的实现平台
DOMString可变字符。
void setTextContent(String textContent) throws DOMException
null,设置没有效果。在设置,这个节点可以有任何可能的孩子后,如果新的字符串是否为空或
null,取而代之的是一个单一的
Text节点包含字符串属性设置为。
Text.isElementContentWhitespace)。同样,在设置上,也没有进行解析,输入字符串作为纯文本内容。
| Node type | Content |
|---|---|
| ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE | concatenation of the textContent attribute value of every child node, excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the node has no children. |
| TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE | nodeValue |
| DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE | null |
DOMException - no_modification_allowed_err:提出的节点时,只读。
boolean isSameNode(Node other)
Node。当两
Node引用的是同一对象的引用,即使通过代理,参考可完全互换,这样所有的属性具有相同的值,调用同一个DOM方法在参考总是有相同的效果。
other -测试节点。
true如果节点是相同的,
false否则。
String lookupPrefix(String namespaceURI)
namespaceURI的命名空间URI查找。
null如果没有发现。如果一个以上的前缀与命名空间前缀关联,则返回的命名空间前缀是实现依赖的。
boolean isDefaultNamespace(String namespaceURI)
namespaceURI是默认的命名空间或不。
namespaceURI的命名空间URI查找。
true如果指定
namespaceURI是默认的命名空间,
false否则。
String lookupNamespaceURI(String prefix)
prefix -前缀查找。如果这个参数是
null,方法会返回默认的命名空间URI。
null如果没有发现。
boolean isEqualNode(Node arg)
Node.isSameNode()。所有的节点都是相同的,也将是平等的,虽然扭转可能不是真的。
nodeName,localName,namespaceURI,prefix,nodeValue。这就是:他们都是null,或者他们有相同的长度和字符相同的字符。attributes NamedNodeMaps是平等的。这就是:他们都是null,或者他们有相同的长度和每个节点存在于一个Map有一个节点在其他Map的存在,是平等的,虽然不一定在同一索引。childNodes NodeLists是平等的。这就是:他们都是null,或者他们有相同的长度和包含相同的节点在同一索引。请注意,正常化可以影响平等性;为了避免这种情况,节点应在进行比较之前进行规范化。DocumentType节点是平等的,下列条件必须满足:
publicId,systemId,internalSubset。entities NamedNodeMaps是平等的。notations NamedNodeMaps是平等的。ownerDocument,
baseURI,和
parentNode属性,为
Attr节点
specified属性,为z-198695f5的
schemaTypeInfo属性—5184-434d-a49c-3933eff5697e和
Element节点,节点为
Text
Text.isElementContentWhitespace属性,以及任何用户数据或事件监听器注册的节点。
注:作为一般规则,在检查考虑任何的描述不是上面提到的不显著。请注意,本规范的未来版本可能会考虑更多的属性和实现符合本规范,预计将相应地更新。
arg -平等比较的结。
true如果节点都是平等的,
false否则。
Object getFeature(String feature, String version)
Node接口。
feature特征的名称要求。注意任何加号“+”添加到特征的名称将被忽略,因为它在这一方法的上下文不显著。
version -这是测试功能的版本号。
null如果没有对象实现与功能相关的接口。如果此方法返回的
DOMObject实现
Node接口,它必须代表最主要的核心
Node不返回结果与原核心
Node如属性、子不一致,等等。
Object setUserData(String key, Object data, UserDataHandler handler)
getUserData。
key -交往对象的关键。
data对象--联想到给定的键,或
null删除任何现有的协会,关键。
handler -处理器联想到钥匙,或者
null。
DOMUserData,或
null如果没有。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.