245 votes

Normalisation dans l'analyse de DOM avec java - comment ça marche?

J'ai vu la ligne ci-dessous dans le code pour un DOM parser à ce tutoriel.

doc.getDocumentElement().normalize();

Pourquoi faisons-nous de cette normalisation ?
J'ai lu les docs mais je ne comprenais pas un mot.

Met tous les nœuds de Texte dans la hauteur du sous-arbre sous ce Nœud

Bon, alors quelqu'un peut-il me montrer (de préférence avec une photo) ce que cet arbre ressemble ?

Quelqu'un peut-il m'expliquer pourquoi la normalisation est-elle nécessaire?
Qu'advient-il si nous n'avons pas normaliser ?

377voto

JB Nizet Points 250258

Le reste de la phrase est:

où uniquement la structure (par exemple, des éléments, des commentaires, des instructions de traitement, les sections CDATA, et les références d'entité) sépare les nœuds de Texte, c'est à dire, il n'y a ni nœuds de Texte adjacents ni vide les nœuds de Texte.

Cela signifie que l'élément XML suivants

<foo>hello 
wor
ld</foo>

pourrait être représentée comme cela dans un dénormalisée nœud:

Element foo
    Text node: ""
    Text node: "Hello "
    Text node: "wor"
    Text node: "ld"

Lorsque normalisée, le nœud va ressembler à ceci

Element foo
    Text node: "Hello world"

Et il en va de même pour les attributs: <foo bar="Hello world"/>, commentaires, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X