Page 1 sur 1

DOM et sa chaîne de sortie.

Posté : 08 août 2009, 00:41
par SpintroniK
Bonsoir tout le monde,

Je suis en train de faire un petit script qui utilise DOM et d'un coup j'ai eu besoin de faire quelque chose que je n'avais jamais fait avant : inverser l'ordre d'apparition de deux noeuds. En gros, j'ai un noeud qui contient trois sous-noeuds et j'aimerais que dans la chaîne générée par saveXML les deux derniers sous-noeuds soit inversés. Bon certes, j'ai bien pensé à parcourir le noeud avec un foreach et le modifier... mais je me demandais s'il n'y avait pas plus rapide (plus beau en fait :D).

Merci d'avance.

[EDIT] Ça n'a pas l'air d'inspirer grand monde...
Du coup, je lâche ma 2éme question : Comment ne pas avoir la première ligne => virer le prologue de la chaîne de sortie ?

Re: DOM et sa chaîne de sortie.

Posté : 11 août 2009, 14:45
par Hywan
Hey :-),

Je ne comprends pas la question en fait … Tu peux reformuler (un exemple peut-être) ?

Re: DOM et sa chaîne de sortie.

Posté : 11 août 2009, 17:17
par SpintroniK
Hey,

Ah c'était donc ça !!! #-o

Donc en gros j'ai ça:

Code : Tout sélectionner

noeud / \ / \ sous sous noeud 1 noeud 2
Le xml de sortie est donc :

Code : Tout sélectionner

<noeud> <sous noeud 1> ... </sous noeud 1> <sous noeud 2> ... </ sous noeud 2> </noeud>
Et la méthode qui crée ces noeuds est obligée de les créer dans cet ordre.
Sauf que, j'aimerais que le xml de sortie soit celui-ci :

Code : Tout sélectionner

<noeud> <sous noeud 2> ... </sous noeud 2> <sous noeud 1> ... </ sous noeud 1> </noeud>
Les deux noeuds doivent être inversés, donc forcément, la solution la plus bête, c'est de parcourir les noeuds contenus dans le premier, avec une foreach, et d'en créer un nouveau qui contient les deux (il y en a forcément 2 !) sous noeuds dans l'ordre inverse. Mais je me demandais s'il y avait pas mieux, sans faire de boucle.
C'est plus clair j'espère ;).

Re: DOM et sa chaîne de sortie.

Posté : 11 août 2009, 17:30
par Hywan
Pourquoi ne pas utiliser DOMNode::insertBefore ? Cette méthode fait parti du DOM Core 2, donc un grand classique.

Re: DOM et sa chaîne de sortie.

Posté : 11 août 2009, 17:32
par SpintroniK
Hywan, il roxe !
Je ne sais pas pourquoi j'y ai pas pensé avant !
Merci =D>

Et sinon, pour ma deuxième question (après le [EDIT]) ?
J'imagine que c'est pas très compliqué, mais comme pour le moment je gère ça à coup de str_replace, je me demande si y'a pas mieux.

Re: DOM et sa chaîne de sortie.

Posté : 11 août 2009, 17:52
par Hywan
Tu as accès aux CSS Selectors ? Tu as accès à XPath ? Je ne pense pas car tu bosses depuis le DOM. Donc sélectionne tout, et vire le premier élément de ton tableau (shift).

Re: DOM et sa chaîne de sortie.

Posté : 21 août 2009, 23:24
par thehawk
Et oui Hywan il a la class ... quoi je suis le seul a trouver ca troll (drôle) ... ?

Oui un message inutile j'avoue mais , comme le souci est en apparence résolue :D :roll:

Re: DOM et sa chaîne de sortie.

Posté : 22 août 2009, 12:54
par SpintroniK
Et oui Hywan il a la class ... quoi je suis le seul a trouver ca troll (drôle) ... ?

Oui un message inutile j'avoue mais , comme le souci est en apparence résolue :D :roll:
Inutile !??? :shock: Pas du tout ! Il a trop la class stout :D