Tipos de nodos
Artículo por Club Developers · 26 mayo 2006
2310 vistas
- Node (org.w3c.dom.Node): Un Node es la unidad base del árbol. Puede ser texto, un elemento, una porción CDATA o una instrucción. Para saber el tipo de un Node tendremos que usar el método getNodeType().
- Element (org.w3c.dom.Element): la interfaz Element define un elemento de XML (XHTML o HTML). Un elemento lo forman un tag, atributos y un contenido (otros nodos y elementos).
Veamos los diferentes tipos de nodos y el resultado de los métodos capaces de saber su contenido:
[table]
[tr]
[td]
Interface (org.w3c.dom)
[/td][td]
getNodeType() (short)
[/td][td]
getNodeName() (String)
[/td][td]
getNodeValue() (String)
[/td][td]
getAttributes() (NamedNodeMap)
[/td][/tr]
[tr]
[td]
Attr
[/td][td]
ATTRIBUTE_NODE
[/td][td]
Nombre del atributo
[/td][td]
Valor del atributo
[/td][td]
null
[/td][/tr]
[tr]
[td]
CDATASection
[/td][td]
CDATA_SECTION_NODE
[/td][td]
"#cdata-section"
[/td][td]
Contenido de la sección CDATA.
[/td][td]
null
[/td][/tr]
[tr]
[td]
Comment
[/td][td]
COMMENT_NODE
[/td][td]
"#comment"
[/td][td]
Contenido del comentario
[/td][td]
null
[/td][/tr]
[tr]
[td]
Document
[/td][td]
DOCUMENT_NODE
[/td][td]
"#document"
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
DocumentFragment
[/td][td]
DOCUMENT_FRAGMENT_NODE
[/td][td]
"#document-fragment"
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
DocumentType
[/td][td]
DOCUMENT_TYPE_NODE
[/td][td]
Nombre del tipo
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
Element
[/td][td]
ELEMENT_NODE
[/td][td]
Nombre del tab
[/td][td]
null
[/td][td]
Atributos del elemento
[/td][/tr]
[tr]
[td]
Entity
[/td][td]
ENTITY_NODE
[/td][td]
Nombre de la entidad
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
EntityReference
[/td][td]
ENTITY_REFERENCE_NODE
[/td][td]
Nombre de la entidad referenciada
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
Notation
[/td][td]
NOTATION_NODE
[/td][td]
Nombre de la Notation
[/td][td]
null
[/td][td]
null
[/td][/tr]
[tr]
[td]
ProcessingInstruction
[/td][td]
PROCESSING_INSTRUCTION_NODE
[/td][td]
DEstino de la instrucción
[/td][td]
Datos de la instrucción
[/td][td]
null
[/td][/tr]
[tr]
[td]
Text
[/td][td]
TEXT_NODE
[/td][td]
"#text"
[/td][td]
Texto en si mismo
[/td][td]
null
[/td][/tr]
[/table]
Si queremos recuperar el texto contenido en un nodo (y en el conjunto de sus hijos) tendremos que usar el método getTextContent().
Para evitar cualquier ambigüedad durante el uso de Element, será mejor usar los métodos específicos de esta interfaz (leer [iurl=90&all=0&fs=904#911]Acceder al contenido y a los atributos de un Element[/iurl]).