begin process at 2012 05 30 23:50:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

impossible de sauvegarder les données (php et XML)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

impossible de sauvegarder les données (php et XML)

lundi 2 octobre 2006 à 18:20:38 | impossible de sauvegarder les données (php et XML)

vacknov

Bonjour;

J'ai le message d'erreur
Fatal error: Call to a member function appendChild() on a non-object in C:\wamp\www\newsxml.php on line 30

lorsque Je veux ajouter un enregistrement dans le fichier xml suivant via DOM en php.

<?xml version="1.0" standalone="yes"?>

<!DOCTYPE Base[
<!ELEMENT Base (conseiller)>
<!ELEMENT conseiller (enregistrement)>
<!ATTLIST conseiller id ID #REQUIRED>
<!ELEMENT enregistrement (nom,prenom,adresse)>
<!ATTLIST enregistrement date CDATA #REQUIRED>
<!ATTLIST enregistrement matricule CDATA #REQUIRED>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT adresse (#PCDATA)>
]>

<Base>
<conseiller id="Econseiller">
<enregistrement date="01/10/2006" matricule="03">
        <nom>NOM1</nom>
        <prenom>PRENOM1</prenom>
<adresse>Ad1</adresse>
</enregistrement>

<enregistrement date="30/09/2006" matricule="02">
        <nom>NOM2</nom>
        <prenom>PRENOM2</prenom>
<adresse>Ad2</adresse>
</enregistrement>


</conseiller>
</Base>

Depuis un formulaire contenant le champs (matricule,nom,prenom et adresse) je poste les données
pour la sauvegarde dans le fichier xml.

$file="c:\test.xml";
$dom=new DOMDocument();
if(file_exists($file) && filesize($file)>0)
$dom->load($file);

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];

$conseiller=$dom->getElementById("Econseiller"); // ligne 28

$enregistrement=$dom->createElement("enregistrement"); // ligne 29

$enregistrement=$conseiller->appendChild($enregistrement); // ligne 30
.
.
.
Lorsque j'ignore les lignes 28 et 30 et que j'affecte au noeuds enregistrement les enfants
(nom,prenom et adresse) la sauvegarde se fait dans le fichier xml mais dans le noeuds Base.
Ligne 28: j'ai aussi essayé de charger le noeuds conseiller avec getElementsByTagName idem.

merci d'avance pour votre aide.




mardi 3 octobre 2006 à 08:26:21 | Re : impossible de sauvegarder les données (php et XML)

malalam

Administrateur CodeS-SourceS
Hello,

lis la doc php.net sur la méthode DOMDocument::getElementById(), tu comprendras. getElementById() nécessite dans la plupartd es versions de PHP, d'une DTD spécifique.
Autres solutions:
- utiliser XPath, tu récupèreras alors un DOMNodeList que tu devras parcourir pour récupérer ton élément.
- utiliser l'attribut xml:id au lieu de id tout court. DOMDocument::getElementById() fonctionnera alors, mais cela dépend des versions de PHP5.


Cette discussion est classée dans : enregistrement, php, file, xml, dom


Répondre à ce message

Sujets en rapport avec ce message

Mise à jour XML via PHP [ par StyloGraff ] Pour un système de mise à jour via internet, j'ai écris un bout de code php qui récupère un flux xml et l'enregistre.  function ecrireXML($var1,$var2, php et xml [ par lsamsoumal ] je cherche depuis 2 jours une solution à mon problème et je n'avance pasj'ai un code qui génére un fichier xml mais il ne l'affiche plus sur le naviga XML/PHP utilisation du nodeName [ par babou54 ] Bonjour, XML et moi on est pas très copain  J'ai un petit problème que je comprend pas et j'aurais besoin d'aide ------------------------------------- PHP DOM. Generation d'un ficier XML depuis un autre fichier XML [ par nurty ] Hello la communauté, J'ai quelque problème pour générer un fichier XML avec une partie d'un autre fichier XML. Je m'explique : Je récupère un fichier Php / XML & DOM [ par Idok ] Bonjour, J'ai un fichier XML de la forme : ... ... ... ... ... </listeAc PHP et DOM [ par Hello5562 ] Bonjour, Je dois modifier un fichier XML avec du PHP mais je ne comprend pas d'où vient mon erreur. mon code : [code=php]load($fichier)) { $user - deplacer un noeud xml [ par marine34000 ] Bonjour, j'ai un xml [code=xml] <![CDATA[mo php/xml/xslt [ par soolfa ] salut a tous , svp j'ai un ensembles des fichiers .txt .( ces fichiers sont soit enregistrer dans un dossiers ,Soit les fichiers qui ont été ouvert s du php dans le xml [ par alain732 ] Bonjour,J'ai un souci entre le php et le xml.Voici le code que j'aimerai modifier pour pouvoir aller chercher les informations dans une base MYSQL.Le code php Modif d'enregistrement dans tables à partir de fomulaire [ par mariemtunisie ] bonjour, j'ai bien cherché un code ressemblant à mon besoin et j'ai rien trouvé!! j'ai décidé alors de vous poser la question que qlq m'envoie si poss


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales