Message d'erreur avec DOMXML

Eléphanteau du PHP | 13 Messages

16 nov. 2007, 18:12

Bonjour à tous,

J'ai le message d'erreur suivant lorsque j'utilise ce code :
J'utilise EasyPHP-2.0b1 et j'ai même essayé avec WAMP.
aurait il une solution ????
merci
<?php
$dom = new DOMDocument();
$dom->load('test6.xml');
?> 
Warning: domdocument::domdocument() expects at least 1 parameter, 0 given in C:\wamp\www\test_xml\DOMXML6.php on line 2

Fatal error: Call to undefined method domdocument::load() in C:\wamp\www\test_xml\DOMXML6.php on line 3
Donc, j'ai essayer de modifier le code et remessage d'erreur :
<?php
$dom = new DOMDocument('UTF-8');
$dom->load('test6.xml');
?> 
Warning: domdocument::domdocument() [function.domdocument-domdocument]: Entity: line 1: parser error : Start tag expected, '<' not found in C:\wamp\www\test_xml\DOMXML6.php on line 2

Warning: domdocument::domdocument() [function.domdocument-domdocument]: UTF-8 in C:\wamp\www\test_xml\DOMXML6.php on line 2

Warning: domdocument::domdocument() [function.domdocument-domdocument]: ^ in C:\wamp\www\test_xml\DOMXML6.php on line 2

Fatal error: Call to undefined method domdocument::load() in C:\wamp\www\test_xml\DOMXML6.php on line 3
voici mon fichier XML:

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <items xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <item already_exported="true" id="10280201"> <BRP_M_Marque><![CDATA[SAINT ALBRAY PRE EMBALLE]]></BRP_M_Marque> <BRP_M_BRP_M_NomCommercial><![CDATA[ST ALBRAY PORTION PE 200G POIDS FIXE PROMO]]></BRP_M_BRP_M_NomCommercial> <BRP_M_Variete></BRP_M_Variete> <BRP_M_NumAgrement></BRP_M_NumAgrement> <BRP_M_GencodUB><![CDATA[3222110017298]]></BRP_M_GencodUB> </item> </items>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 nov. 2007, 19:16

Bonjour,

Tu es bien en PHP5?


Pour rappel, pour PHP4: DOMXML
http://fr2.php.net/manual/fr/ref.domxml.php

Pour PHP5: DOM
http://fr2.php.net/manual/fr/ref.dom.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 13 Messages

16 nov. 2007, 20:31

Oui, je suis en PHP5.
Merci pour le lien. Mais normalement, le code devrait fonctionner.
Ca pourrait venir de quoi ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 nov. 2007, 22:12

Visiblement il s'agit d'un bug avec Wamp et EasyPHP qui continue d'inclure les dll de domxml ce qui occasionne le message d'erreur que tu obtiens...

La solution serait d'éditer ton php.ini, de mettre en commentaire la ligne

Code : Tout sélectionner

extension=php_domxml.dll
et de relancer Apache.

Une autre solution (qui revient au même mais qui est moins propre) est de renommer le fichier c:\wamp\php\ext\php_domxml.dll


Source: http://www.symfony-project.com/forum/in ... #msg_num_8
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

16 nov. 2007, 23:26

Ok merci, ca corrige ma première erreur.
Quant à la second, load est une méthode et non une fonction, il faudrait donc écrire :
$dom->load('book.xml');
Et non
$dom = load('book.xml');