[DOM] Suppression et ajout dans un fichier XML

Eléphanteau du PHP | 14 Messages

06 juil. 2005, 15:48

Bonjour tout le monde.

J'ai réussi à modifier les valeurs de balises de mon fichier XML avec SimpleXML, mais maintenant, je voudrais supprimer des balises et en ajouter.

En fait, mon fichier XML contient une liste de produits comme ceci :

Code : Tout sélectionner

<product-list> <product> <productId>1</productId> <currency>EUR</currency> <amount>25.0</amount> <description>bonbon</description> </product> <product> <productId>2</productId> <currency>USD</currency> <amount>10.0</amount> <description>sac</description> </product> </product-list>
En résumé, je souhaiterai, par exemple:
* supprimer le produit (et tous les fils) désigné par productId ="2"
* ajouter un produit désigné par productId ="10" avec differentes caractéristiques, et ce, a la fin de tous les produits existants.

Le probleme est que SimpleXML ne gere pas cela.

Je dois donc utiliser DOM, et je ne trouve pas de tutoriaux sur cette API. Etant en PHP 5.x, je ne peux pas utiliser DOM XML mais UNIQUEMENT DOM.

Avez vous une idee de comment proceder ? ou un tutorial sympa ?

Merci d'avance ...

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juil. 2005, 16:01

Effectivement SimpleXML ne gère pas l'écriture de nouveaux noeuds dans le fichier.
Mais pourquoi ne peux-tu pas utiliser dom_xml si tu es en PHP 5 ?
http://www.nexen.net/docs/php/annotee/domxml.intro.php
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 14 Messages

07 juil. 2005, 11:08

Merci de ta réponse !

En fait je suis certain qu il n est pas possible d'utiliser DOM XML avec PHP5. En effet, en reference a :http://fr2.php.net/manual/fr/ref.domxml.php
DOM XML n'est plus considérée comme expérimental. Néanmoins, elle ne sera jamais distribuée avec PHP 5 mais uniquement avec PHP 4. Si vous avez besoin du support DOM XML avec PHP 5, vous pouvez utiliser l'extension DOM. domxml n'est pas compatible avec l'extension DOM
Le lien que tu m'as donné ne fonctionne pas. Enfin, je potasse toujours pour essayer de comprendre le fonctionnement de DOM qui n'est pas si EASY que cela.

Personne n'a déja fait cela ? petites aides :)

A bientot

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 11:10

Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.