PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-12-2009 14:46:38

Kakolac
Membre
Inscription : 03-12-2009
Messages : 2

php et DOM

Bonjour,

je débute en PHP et encore plus en XML...

Je me suis donc plongé dans DOM pour pouvoir réaliser ce que je souhaite, mais je rame sévèrement.

J'ai un fichier xml qui contient un catalogue de films, il est structuré comme suis :

<?xml version="1.0" encoding="utf-8"?>
<catalogue>
<film>
  <support>DVD</support>
  <titre>Million Dollar Baby</titre>
  <genre>Drame</genre>
  <annee>2005</annee>
  <realisateur>
    <nom>Eastwood</nom><prenom>Clint</prenom>
  </realisateur>
  <acteurs>
    <acteur1>
    <nom>Eastwood</nom><prenom>Clint</prenom>
    </acteur1>
    <acteur2>
    <nom>Swank</nom><prenom>Hilary</prenom>
    </acteur2>
    <acteur3>
    <nom>Freeman</nom><prenom>Morgan Freeman</prenom>
    </acteur3>
  </acteurs>
  <resume>
  Mon résumé.
  </resume>
  <avis>
  Mon avis.
  </avis>
</film>
</catalogue>

Je souhaite avec PHP et DOM ajouter un film au fichier xml, je bloque car il m'ajoute bien le film mais en dehors de la racine (catalogue) et à la fin du fichier.
Le début du code PHP :

//on ouvre le fichier xml
$dom = new DomDocument();
$dom->load('films.xml');

//creation du noeud film
$noeud = $dom->createElement("film");
$xmlfilm = $dom->appendChild($noeud);

//creation du noeud support
$xmlsupport = $dom->createElement("support");
$xmlfilm->appendChild($xmlsupport);

//insertion et création du texte dans le noeud support
$support_txt=$dom->createTextNode ("dvd");
$xmlsupport->appendChild ($support_txt);

Voilà, en espérant que vous puissiez m'aider smile

Merci d'avance !

Hors ligne

#2 28-12-2009 17:44:58

Maskime
Membre
Lieu : Paris 15ème
Inscription : 11-05-2009
Messages : 134
Site Web

Re : php et DOM

Hello,

Il me semble que c'est SimpleXml() que tu devrais utiliser wink


La programmation est composée de 80% de réflexion pour 20% de syntaxe -> réfléchissez à votre problème par étapes

Recommande l'utilisation du pattern Singleton
Si jamais je poste un morceau de code pour vous aider, prenez bien compte que je n'ai pas forcément testé le code que je poste et qu'il est possible qu'il contienne des erreurs wink

Hors ligne

#3 30-12-2009 09:27:42

Kakolac
Membre
Inscription : 03-12-2009
Messages : 2

Re : php et DOM

Salut !

Merci pour la réponse, en effet ça fonctionne avec SimpleXml, j'avais mal compris la notion de nœud, je pensait que je ne pouvais utiliser que DOM pour ajouter un enfant smile
Problème résolu !

Hors ligne

Pied de page des forums