modification/suppression d'un noeud XML avec simpleXML

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : modification/suppression d'un noeud XML avec simpleXML

Re: modification/suppression d'un noeud XML avec simpleXML

par Invité » 21 mai 2010, 14:41

Effectivement, ça parait être la seule alternative pour le moment. Je vais faire comme ça. Merci d'avoir répondu si vite! :wink:

Re: modification/suppression d'un noeud XML avec simpleXML

par Asfaloth » 21 mai 2010, 13:41

Salut,

Pour les cas complexes de xml à gérer, je te conseille de passer directement via DomDocument.
C'est un peu plus compliqué à prendre en main mais beaucoup plus complet que simpleXML qui, par définition, ne fait que des traitements "simple".
Et encore plus si tes XML arrivent à un certains degré de complexité, taille. Par exemple avec DomDocument tu peux atteindre et modifier un noeud directement, sans pour autant passer par tout l'arborescence, ce qui n'était pas aussi facile que ça à faire via simpleXML si je me rappelle bien...

modification/suppression d'un noeud XML avec simpleXML

par Pierre4064 » 21 mai 2010, 10:27

Bonjour à tous. Voilà mon problème : Je cherche une façon efficace de supprimer/modifier un noeud dans un document XML . J'utilise la méthode xpath de la classe simpleXMLElement pour déterminer le noeud à modifier ainsi que son existence. Cependant, cette méthode retourne un tableau d'objets simpleXML et la modification de ces objets n'a pas d'impact sur le document XML.

Jusqu'à présent , je récupère le document dans une string XML (avec la méthode asXML() ) , je modifie la string et je reconstruit un objet simpleXMLElement avec la string modifiée( méthode simplexml_load_string() ). Inutile de vous dire que la performance n'est pas au rendez-vous et, de plus je crains que le volume de certains documents XML que je dois traiter ne pose problème.

Donc voilà, si vous avez une manière plus efficace de modifier/supprimer un noeud dans un document XML, je suis preneur!^^

Merci d'avance.