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.