Tomando el modelo de objetos de documento (dom) de aproximación a los documentos xml

La dicotomía entre el pensamiento lineal y separa pensamiento holístico (respectivamente) SAX de DOM.

SAX (Simple API para XML) trata de un documento XML de forma lineal, a través de una pieza a pieza documento, de principio a fin. Pero con DOM (Document Object Model), de saltar y mirar a todo el documento. Un poco más tarde, hacer zoom en el elemento raíz, y luego centrarse más en un elemento dentro del elemento raíz. En algunas situaciones, saltando es exactamente lo que tiene que hacer.

nodos DOM

Con DOM, se piensa en un documento XML como tener varios nodos. Los ejemplos de nodos incluyen elementos, atributos, comentarios, y los caracteres entre un par de etiquetas de inicio y fin. Un documento XML completo es en sí mismo un nodo. Con todo, un documento XML puede tener 12 tipos diferentes de nodos.

Los nodos de un árbol

Tomados en conjunto, todos los nodos DOM en un documento XML forman un árbol. Tomemos, por ejemplo, el documento en el Listado 1. árbol DOM de este documento parece que el árbol que se muestra en la Figura 1.

Video: Curso Básico de javascript 13.- Introducción al DOM (Document Object Model)

Listado 1: El club de los amantes de la anchoa

lt;? xml version =”1.0" encoding =”UTF-8" gt?;




Fundador, Presidente, Secretario, Director de Publicidad


El árbol tiene once nodos. Para contarlos, empezar contando las ramas del árbol (convenientemente mostradas en la Figura 1). A continuación, contar el miembro Nombre = “Herbert” rama por segunda vez. (Esta rama tiene dos nodos DOM en ella. El elemento nombrado miembro es un nodo, y el atributo del elemento Nombre =”Herbert” es un nodo.)

Figura 1: Un árbol que representa el documento en el Listado 1.

Un tratado sobre árboles

Hay algunas cosas que usted descubrirá mirando fijamente en el árbol en la Figura 1.

  • Algunos nodos son hijos de otros nodos.
    Por ejemplo, el nodo de usuario es un niño del nodo AnchovyLoversClub. Eso es porque, en el Listado 1, el elemento de miembro está anidado dentro del elemento AncoverLoversClub.
    De manera similar, el nodo de pie es un hijo del nodo miembros. Esta analogía de la familia sigue y sigue. El nodo es el miembro padre del nodo de pie, y la AncoverLoversClub es el padre del nodo miembros.
  • El documento entero es un nodo.
    Este es un punto importante, y es fácil de olvidar. En el Listado 1, elemento raíz del documento es AnchovyLoversClub. Sin embargo, en la Figura 1, el nombre AnchovyLoversClub no es en la parte superior del árbol. En cambio, la palabra #document es en la parte superior del árbol.
    Un nodo superior del árbol DOM representa un documento XML completo. Los errores se producen cuando los programadores piensan que el elemento raíz del documento se inicia el árbol. (No lo hace.)
  • Comentarios y fragmentos de texto son nodos.
    En la Figura 1, el comentario es un nodo hijo del nodo documento. Eso es porque, en el Listado 1, el comentario es parte del documento. El comentario no está anidado dentro de cualquiera de los elementos del documento.
    Una vez más, jugamos la genealogía. Podemos decir que el nodo #document tiene dos hijos - un nodo y un nodo de comentario AnchovyLoversClub. Estos dos puntos de soporte - el comentario y el AnchovyLoversClub - se llaman hermanos.
    También en la Figura 1, el fundador de texto, Presidente, Secretario, Director de Publicidad es parte de un nodo. En el Listado 1, el fundador de texto, Presidente, Secretario, Director de publicidad es el interior del elemento de pie. Así, en la Figura 1, este nodo de texto es un hijo del nodo Permanente.
  • Incluso puede ignorarse el texto es parte de un nodo.
    Según la Figura 1, el nodo AnchovyLoversClub tiene tres nodos directos infantiles - dos nodos #text etiquetados, y otro nodo etiquetado miembros. Eso es porque, en lo que se refiere a DOM, el nodo AnchovyLoversClub tiene tres cosas en él.

Video: SESION 2:SINTAXIS EN XML

retorno de carro y tres espacios en blanco

miembro elemento

retorno de carro

    La situación se ilustra en la Figura 2.
Figura 2: Dos nodos de texto en el Listado 1.
    Los tres hijos del nodo miembro - dos piezas de espacios en blanco y un elemento de pie - son todos hermanos.
    Ahora, observe los puntos y el [Cr] en las figuras 1 y 2. En el diagrama de árbol, un punto representa un espacio en blanco, y [Cr] representa un retorno de carro. Con DOM, todo el espacio en blanco ignorable entre la etiqueta de inicio AnchovyLoversClub y el Miembro Etiqueta inicial forma un nodo. A partir de la escuadra que termina la etiqueta de inicio AnchovyLoversClub, ir a la siguiente línea, y entonces usted tiene tres espacios en blanco antes de la llave que abre iniciar el miembro etiqueta. Todo eso es un nodo DOM.
  • etiquetas finales no son nodos.
    Con SAX, usted puede estar pensando en términos de poner en marcha el elemento de miembros, y más tarde terminando el elemento miembros. En DOM, usted no piensa de esta manera. En su lugar, se visita el elemento Miembro sólo una vez. Dentro de esa visita, se visita el elemento de pie y algo de texto. DOM no tiene un método correspondiente al método de SAX endElement.
Artículos Relacionados