IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] Ajout de données dans un fichier XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut [DOM] Ajout de données dans un fichier XML
    Bonjour à tous,

    Je viens vous demander de l'aide pour un petit problème avec DOM et l'écriture dans un fichier XML. J'explique :

    Dans mon back-office, j'ai 3 formulaires :

    • un pour l'insertion des informations générales sur une commune,

    • un pour l'insertion du patrimoine de la commune

    • et le dernier pour les réalisations de l'année pour la commune


    J'ai déjà réalisé l'exportation des données de ma base de données pour le premier formulaire grâce à DOM, tout marche très bien, mais j'aimerai savoir comment faire pour insérer à la suite de ça les données récupérées dans les 2 autres formulaire.

    La syntaxe de mon fichier XML est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"?>
    <commune value="1">
      <Identite>
        <NbHabitant>2744</NbHabitant>
        <NomMaire>M. X</NomMaire>
        <DelegueTitulaire1>M. Y</DelegueTitulaire1>
        <DelegueTitulaire2>M. Z</DelegueTitulaire2>
        <DelegueSuppleant1>M. W</DelegueSuppleant1>
        <DelegueSuppleant2>...</DelegueSuppleant2>
        <ReferentEP>...</ReferentEP>
        <ReferentNRJ>...</ReferentNRJ>
        <CompetenceOptionnelle>...</CompetenceOptionnelle>
      </Identite>
    </commune>
    Ce que j'aimerai, c'est dans le fichier PHP du patrimoine et celui de réalisation, rouvrir le fichier XML et pouvoir insérer les informations à la suite des autres. Et avant la balise </commune> bien sur !

    Voilà j'espère que quelqu'un pourra m'aiguiller !
    Bonne journée à vous !

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Je rame toujours sur le même problème ! J'ai trouvé un petit bout de code sympathique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    $filename = '../XML/carte_identite'.$Md_ID_Commune.'.xml';
    $file->encoding = 'utf-8';
     
    // Si le fichier XML n'existe pas, on le crée ainsi que sa racine
    if(!($file = DOMDocument::load($filename)))	{
    	$file = new DOMDocument();	
    	$root = $file->createElement("commune"); //On crée l élément racine
    	$root->setAttribute("value", $Md_ID_Commune); //On lui ajoute l attribut ID_Commune
    	$root = $file->appendChild($root); //On insère la racine dans le document
    }
    else
    {
            // On charge le fichier et on recherche l'élément racine associé au fichier chargé
    	$file->load($filename);
    	$root = $file->documentElement; 
     
    	// Création du noeud Realisation
    	$element_realisation = $file->createElement("Realisation");
    	$element_realisation = $root->appendChild($element_realisation);
     
    	// Création du noeud MetreTranchees 
    	$element_metre_tranchees = $file->createElement("MetreTranchees");	
     
            //On crée un élément MetreTranchees
    	$element_metre_tranchees =    $root->appendChild($element_metre_tranchees);
    	$texte_metre_tranchees =    $file->createTextNode($Md_Metre_Tranchee); //On crée un texte
    	$texte_metre_tranchees = $element_metre_tranchees->appendChild($texte_metre_tranchees);
    On finit bien sur par sauvegarder le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file->save('../XML/carte_identite'.$Md_ID_Commune.'.xml');

    Ça ne marche qu'a moitié, quand le fichier est déjà créé tout se passe bien, mais dès qu'il faut le créer, le fichier contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0"?>
    <commune value="1"/>
    Avec comme message d'erreur sous php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: I/O warning : failed to load external entity "file:///c%3A/program%20files/apache%20group/Apache/page/territoire/XML/carte_identite1.xml" in c:\program files\apache group\Apache\page\territoire\admin\entree_donnee_realisation.php  on line 341
    La ligne 341 est celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!($file = DOMDocument::load($filename)))

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Personne pour m'aider ?

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Ça ne marche qu'a moitié, quand le fichier est déjà créé tout se passe bien, mais dès qu'il faut le créer, le fichier contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0"?>
    <commune value="1"/>
    Pour cette erreur, c'est réglé je suis un peu tête en l'air...

    Par contre le message d'erreur ci dessous persiste !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: I/O warning : failed to load external entity "file:///c%3A/program%20files/apache%20group/Apache/page/territoire/XML/carte_identite1.xml" in c:\program files\apache group\Apache\page\territoire\admin\entree_donnee_realisation.php  on line 341
    La ligne 341 est celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!($file = DOMDocument::load($filename)))

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,
    peux tu préciser un peu plus sur l'erreur ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    C'est bon problème réglé ! Je suis du genre tête en l'air

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/04/2010, 21h26
  2. [DOM]ajouter une ligne dans un fichier xml
    Par aroua dans le forum APIs
    Réponses: 1
    Dernier message: 21/04/2008, 17h25
  3. [DOM] Ajouter un nœud dans un fichier XML
    Par Mo_Poly dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 18/09/2007, 05h23
  4. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  5. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo