Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2007, 10h12   #1
Invité de passage
 
Inscription : avril 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 4
Points : 0
Points : 0
Par défaut [DOM] Php5 : créer un fichier xml avec Dom

Bonjour,

je souhaite créer ou mettre à jour un fichier xml.

J'essaye d'utiliser l'extension Dom.

Mais visiblement, elle n'est pas prise en charge.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php						
 
if( !empty($_GET) && !empty($_GET['nomartiste']) )
{
$nomartiste = $_GET['nomartiste'];
 
 
$dom = new DOMDocument();
 
$dom->construct();
 
$n_selection = $dom->createElement("selection");				
$n_interprete = $dom->createElement("interprete");							
$nt_interprete = $dom->createTextNode($nomartiste);	
 
$n_interprete->appendChild($nt_interprete);
 
$n_selection = $dom->getElementsByTagName("selection")->item(0);
$n_selection->appendChild($n_interprete);
$dom->appendChild($n_selection);
 
$dom->save('radio/testcreationfic.xml');				
}
?>
Et voici les erreurs que j'obtiens :

Citation:
Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in E:\Program Files\EasyPHP 2.0b1\www\index.php5 on line 71

Fatal error: Call to undefined method domdocument::construct() in E:\Program Files\EasyPHP 2.0b1\www\index.php5 on line 73
Dois-je inclure une dll particulière ? Faire un include ?

L'objet DOMDocument est censé être utilisable avec php5. Il me semble même avoir lu qu'il faisait partie intégrante du langage php5 ici :

http://fr2.php.net/manual/fr/ref.dom.php

Extrait en question :
Citation:
Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.
Conclusion, je suis perdu ???
devadh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 12h07   #2
Membre du Club
 
Avatar de dervish
 
Inscription : avril 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 99
Points : 66
Points : 66
Salut,
en fait tout est dans tes messages d'erreur, tu dois appeler domdocument avec au moins un argument (la version) et tu n'as pas a appeler la methode __construct qui est le constructeur de la classe et qui est appelé automatiquement par domdocument...
pour un expl:
http://fr2.php.net/manual/fr/functio...-construct.php
dervish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 14h04   #3
Invité de passage
 
Inscription : avril 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 4
Points : 0
Points : 0
D'accord, voici mon nouveau code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php						
 
if( !empty($_GET) && !empty($_GET['nomartiste']) )
{
$nomartiste = $_GET['nomartiste'];
 
 
$dom = new DOMDocument('1.0', 'iso-8859-1');
 
$n_selection = $dom->createElement("selection");				
$n_interprete = $dom->createElement("interprete");							
$nt_interprete = $dom->createTextNode($nomartiste);	
 
$n_interprete->appendChild($nt_interprete);
 
$n_selection = $dom->getElementsByTagName("selection")->item(0);
$n_selection->appendChild($n_interprete);
$dom->appendChild($n_selection);
 
$dom->save('radio/testcreationfic.xml');				
}
?>
Et j'obtiens les injures suivantes :

Citation:
Warning: domdocument::domdocument() expects parameter 2 to be long, string given in E:\Program Files\EasyPHP 2.0b1\www\index.php5 on line 71

Fatal error: Call to undefined method domdocument::createElement() in E:\Program Files\EasyPHP 2.0b1\www\index.php5 on line 76
Idem si je passe au constructeur DomDocument les paramètres avec des guillemets plutôt qu'avec des côtes.
devadh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h10.


 
 
 
 
Partenaires

Hébergement Web