Problème sauvegarde XML

Résolu
arnaultp Messages postés 29 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 25 juillet 2007 - 9 juil. 2007 à 16:15
arnaultp Messages postés 29 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 25 juillet 2007 - 10 juil. 2007 à 09:29
Bonjour à tous!
En suivant quelques tutos et la doc de php.net j'essaie de créer et d'updater un fichier XML et de l'indenter correctement. Pour le moment je tente déjà d'insérer mais une erreur me résiste et je ne vois pas pourquoi.

Voici le code php :

<?php
    $dom = new DomDocument('1.0', 'iso-8859-1');
    $dom->load("http://localhost/sodedat/XML/news.xml");
       
    $nom = htmlentities ($_POST['nom'], ENT_QUOTES);
    $titre = htmlentities ($_POST['titre'], ENT_QUOTES);
    $message = htmlentities ($_POST['message'], ENT_QUOTES);
   
    $nouveauNom = $dom->createElement("nom");
    $nouveauTitre = $dom->createElement("titre");
    $nouveauMessage = $dom->createElement("message");
   
    $valeurNom = $dom->createTextNode($nom);
    $valeurTitre = $dom->createTextNode($titre);
    $valeurMessage = $dom->createTextNode($message);
   
    $nouveauNom->appendChild($valeurNom);
    $nouveauTitre->appendChild($valeurTitre);
    $nouveauMessage->appendChild($valeurMessage);
    $news = $dom->getElementsByTagName("news")->item(1);
    $news->appendChild($nouveauNom);
    $news->appendChild($nouveauTitre);
    $news->appendChild($nouveauMessage);
   
    $dom->save("http://localhost/sodedat/XML/news.xml");
   
    $listemsg = $dom->getElementsByTagName('message');
    foreach($listemsg as $message)
        echo $message->firstChild->nodeValue . "
";
?>

Voici le xml :

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<exemple>
    <news>
        1
        <nom> Pierrick </nom>
        <titre> Coucou! </titre>
        <date> 02/07/2007 </date>
        <heure> 12:03 </heure>
        <message> Bonjour et bienvenue a tous sur l'intranet de la Sodedat 93! </message>
        #
    </news>
    <news>
        2
        <nom> Alain </nom>
        <titre> Voyons... </titre>
        <date> 02/07/2007 </date>
        <heure> 15:45 </heure>
        <message> Juste un petit test pour savoir si ca fonctionne correctement... </message>
        #
    </news>
</exemple>

Et voici ce que l'on m'affiche:

Warning: DOMDocument::save(http://localhost/sodedat/XML/news.xml) [[function.DOMDocument-save function.DOMDocument-save]]: failed to open
stream: HTTP wrapper does not support writeable connections. in
G:\Stage\intranet01\ajouter_news.php on line
25

Warning:
DOMDocument::save(http://localhost/sodedat/XML/news.xml) [[function.DOMDocument-save function.DOMDocument-save]]: failed to open
stream: HTTP wrapper does not support writeable connections. in
G:\Stage\intranet01\ajouter_news.php on line 25
Bonjour et
bienvenue a tous sur l'intranet de la Sodedat 93!
Juste un petit test pour
savoir si ca fonctionne correctement...
hehe  //ceci étant le message que j'ai entré par un formulaire

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
9 juil. 2007 à 17:30
Salut,

Le message d'erreur te dis tout :
Warning: DOMDocument::save(http://localhost/sodedat/XML/news.xml) [function.DOMDocument-save]: failed to open stream: HTTP wrapper does not support writeable connections. in G:\Stage\intranet01\ajouter_news.php on line 25

Soit :
Attention: La fonction DomDocument::save n'a pu ouvrir le flux (ici, comprendre fichier): Le protocole HTTP ne supporte pas l'écriture!

Bref :
spécifie une l'adresse d'un fichier local pour save (ou FTP, ou...) mais pas HTTP!

A+
3
arnaultp Messages postés 29 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 25 juillet 2007
10 juil. 2007 à 09:29
Eh bien merci beaucoup! Vraiment beaucoup...
En fait il ne s'agissait bien que de l'adresse du fichier. Je m'étais un peu égaré avec l'AJAX qui demande impérativement une adresse en "http://", alors le php c'est le contraire.
Merci de m'avoir ouvert les yeux.
0
Rejoignez-nous