Prenant le modèle objet de document (DOM) approche de documents XML

La dichotomie entre la pensée linéaire et sépare la pensée holistique (respectivement) de SAX du DOM.

Sommaire

  • Noeuds dom

SAX (de Simple API for XML) traite un document XML de façon linéaire, en travaillant dans un document pièce par pièce, du début à la fin. Mais avec DOM (l'objet modèle de document), vous sautez dans et regardez l'ensemble du document. Un peu plus tard, vous zoomez sur l'élément racine, et ensuite se concentrer plus étroitement sur un élément dans l'élément racine. Dans certaines situations, de sauter dans est exactement ce que vous devez faire.

Noeuds DOM

Avec DOM, vous pensez d'un document XML comme ayant plusieurs nœuds. Des exemples de noeuds comprennent des éléments, attributs, commentaires, et les caractères entre une paire de balises de début et de fin. Un document XML entier est lui-même un nœud. Dans l'ensemble, un document XML peut avoir 12 types de nœuds différents.

Les noeuds d'un arbre

Pris ensemble, tous les nœuds du DOM dans un document XML forment un arbre. Prenez, par exemple, le document dans le listing 1. arbre DOM de Ce document ressemble à l'arbre de la figure 1.




Liste 1: L'anchois Lovers club

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




Fondateur, Président, Secrétaire, Responsable Publicité


L'arbre a onze nœuds. Pour les compter, commencer par compter les branches de l'arbre (idéalement affichées dans la figure 1). Puis compter le prénom = branche de membres "Herbert" une seconde fois. (Cette branche a deux noeuds DOM sur elle. L'élément nommé membre est un noeud, et l'attribut de l'élément prénom = "Herbert" est un nœud.)

Prenant le modèle objet de document (DOM) approche de documents XML

Figure 1: Un arbre représentant le document dans le Listing 1.

Un traité sur les arbres

Il ya quelques choses que vous découvrirez en regardant fixement l'arbre de la figure 1.

  • Certains noeuds sont des enfants d'autres nœuds.
    Par exemple, le noeud de membre est un enfant du noeud AnchovyLoversClub. Voilà parce que, dans le listing 1, l'élément membres est imbriqué dans l'élément AncoverLoversClub.
    De la même manière, le nœud permanent est un enfant du noeud de membres. Cette analogie de la famille va ainsi de suite. Le nœud de membre est le parent du noeud permanent et le AncoverLoversClub est le parent du nœud de membres.
  • Le document entier est un nœud.
    Ceci est un point important, et il est facile d'oublier. Dans le Listing 1, l'élément racine du document est AnchovyLoversClub. Mais à la figure 1, le nom AnchovyLoversClub est pas au sommet de l'arbre. Au lieu de cela, le mot #document se trouve au sommet de l'arbre.
    Supérieure noeud d'un arbre DOM représente un document XML entier. Des erreurs se produisent lorsque les programmeurs pensent que l'élément racine du document commence l'arbre. (Il ne le fait pas.)
  • Commentaires et morceaux de texte sont des nœuds.
    Sur la figure 1, le commentaire est un noeud du noeud de document enfant. Voilà parce que, dans le listing 1, le commentaire est partie du document. Le commentaire est pas imbriqué dans aucun des éléments du document.
    Une fois de plus, nous jouons la généalogie. Nous disons que le nœud de #document a deux enfants - un nœud de commentaire et un noeud de AnchovyLoversClub. Ces deux noeuds - le commentaire et l'AnchovyLoversClub - sont appelés frères et sœurs.
    Egalement sur la figure 1, le texte fondateur, président, secrétaire, directeur de la publicité fait partie d'un noeud. Dans le Listing 1, le texte fondateur, président, secrétaire, directeur de la publicité est à l'intérieur de l'élément permanent. Ainsi, dans la figure 1, ce noeud de texte est un enfant du noeud permanent.
  • Même ignorable texte fait partie d'un noeud.
    Selon la figure 1, le nœud AnchovyLoversClub dispose de trois nœuds enfants directs - deux nœuds #text marqués, et un autre nœud marqué membres. Cela est parce que, en ce qui concerne DOM, le nœud de AnchovyLoversClub a trois choses en elle.

retour chariot et trois blancs

Élément membres

retour chariot

    La situation est illustrée sur la figure 2.
Prenant le modèle objet de document (DOM) approche de documents XML

Figure 2: Deux nœuds de texte dans le listing 1.
    Les trois enfants du nœud de membres - deux morceaux de blancs et un élément permanent - sont tous frères et sœurs.
    Maintenant, remarquez les points et la [CR] dans les figures 1 et 2. Dans l'arborescence, un point représente un espace vide, et [CR] représente un retour chariot. Avec DOM, tous les espaces ignorable entre la balise de début AnchovyLoversClub et le membre balise de début forme un noeud. A partir de l'équerre qui termine la balise de début AnchovyLoversClub, vous passez à la ligne suivante, et puis vous avez trois espaces vides avant l'équerre qui ouvre le membre balise de début. Tout ça est un nœud DOM.
  • Balises de fin ne sont pas des nœuds.
    Avec SAX, vous pensez peut-être en termes de départ l'élément membres, et plus tard la fin de l'élément membres. Dans DOM, vous ne pensez pas de cette façon. Au lieu de cela, vous visitez l'élément membres juste une fois. Dans cette visite, vous visitez l'élément permanent et du texte. DOM n'a pas de méthode correspondant à la méthode SAX endElement.

» » » » Prenant le modèle objet de document (DOM) approche de documents XML