|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Bonjour à tous,
Je suis actuellement confronté à une difficulté que je n'arrive pas à résoudre -> Merci par avance si vous avez quelque suggestion à me proposer ! Voilà l'affaire : J'ai un code XML qui se présente selon l'exemple que j'ai mis ci-dessous (XML.xml); code que je modifie à l'aide du code PHP exposé ci-dessous -> Seulement, les balises enfant ne sont pas recopiées et donc, n'apparaissent pas dans le fichier XML, après modification ! -> Sauriez-vous me dire comment arranger cela, SVP ? Sinon, comme l'indique le titre de ce topic, ma perspective est, en fait, de changer le nom du titre ("Titre recherché", ici, en l'occurrence) en un autre titre ($Nouveau_titre), mais peut-être cette étape sera à voir dans un 2ème temps, une fois que j'aurai su comment "récupérer" les enfants ? Code PHP : Code :
Code XML : Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Peut-être n'ai-je pas présenté ma question de façon suffisamment "explicite"
-> Merci de me dire si quelque chose ne vous semble pas clair, dans ma demande ! A ce propos, si on voulait simplifier davantage, ma question serait : "Comment puis-je faire pour récupérer concrètement le contenu (ensemble de balises enfants) qui se trouve entre d'autres balises (balises <r code="726"></r>, ici, en l'occurrence) ?" -> Merci pour toute proposition éventuelle ! |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Peux-tu modifier la structure de ton XML ? Si oui il faudrait éviter de mélanger noeuds texte et éléments dans le même élément parent.
Citation:
http://fr.php.net/manual/fr/domdocument.savexml.php
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Merci Séb.
Effectivement, je peux adapter mon XML, au niveau du titre des balises <r> -> Ce qui me donne : Code :
Une idée ? |
||
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Je vois toujours un texte cotoyer un élément :
Code :
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||
|
|
00
|
|
|
#6 | ||||||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Effectivement, je peux encore améliorer cela -> Voilà ma nouvelle version, pour le XML :
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#8 | ||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Oui, je sais, sauf que... ça ne marche pas, de mon coté
(les enfants ne sont toujours pas "intégrés" !) -> Voici mon code, au complet, si ça peut t'aider : Code :
|
||
|
|
00
|
|
|
#9 | |
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
... Avec, en prime, l'erreur suivante qui apparait :
Citation:
|
|
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Euh, oui, bon, en fait, c'est moi qui ai fait une bourde :
J'ai mis : $VariableEnfants = $doc->saveXML($enfants); au lieu de : $VariableEnfants = $dom->saveXML($enfants); -> C'est arrangé et... voilà ce qui s'affiche, à présent : Code :
Une idée ? |
||
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 587 ![]() |
Pourquoi pas un simple "setAttribute" pour modifier le titre de l'élément plutôt que de sauvegarder ses enfants, de recréer un élément identique à l'ancien au titre près pour lui réinsérer les enfants sauvegardé...si j'ai bien compris ce que tu veux faire ?!
__________________
Développeur informatique contrarié... |
|
|
10
|
|
|
#12 | ||
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Hello vorace,
Oui, effectivement, ça se tient complètement ! A vrai dire, j'ai du foirer quelques tests, auparavant, car j'en avais conclu, un peu trop hâtivement que ce genre de raccourci n'était pas possible... Merci de m'aider à rectifier... Je viens de faire le test (voir ci-dessous) et... Wouuu, ça y est, c'est reparti... Ca maaarche ! Grand Merci à toi ! (Du coup, c'est "Résolu"... Ouf !) Code :
|
||
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Ouaih, Seb, pour le commentaire, j'y avais pensé mais, à vrai dire, j'avais trouvé ça tellement "déplacé" que je ne l'ai pas mis... Après, c'est à chacun de voir, hein !
N'empêche que vorace m'aura super bien aidé à me simplifier la vie... Ca ne mérite pas un "Ola", ça ? |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 177 ![]() |
Euh, mille excuses, SEB, quand-même... Vis à vis de ta réflexion, je crois que j'ai pris un peu la mouche ! Et puis, c'est vrai que mon approche, au départ était plutôt "pas simple" du tout !
Du coup, grand Merci à toi aussi car , non seulement, en me ramenant à un simple "setAttribute", tu as contribué à me simplifier mon bignz du moment, mais j'avais aussi un autre sujet d'embrouille, dernièrement, qui, justement, celui-là, était ciblé sur "Comment modifier un attribut en PHP" et, du coup, sans le vouloir, tu m'as donné ainsi, à travers ton approche... et celle de vorace de résoudre également ce deuxième sujet... Bonne continuation ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com