Rechercher : dans
Par :

Validation load xml en php

Dernière réponse le 15 oct 2009 à 00:38:25 Dr_king13, le 27 fév 2008 à 23:29:20 
 Signaler ce message aux modérateurs

Bonjour,

j'aimerais pouvoir valider si un xml a été correctement "loader" en php afin d'afficher un message d'erreur plus propre que ceci :

//---------------------------------------------
Warning: DOMDocument::load() [function.DOMDocument-load]: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. in C:\0461454\FIN_27fev\index.php on line 221

Warning: DOMDocument::load(http://prof.tim.cstj.net/aboudrea/xml/3nouvelles.php) [function.DOMDocument-load]: failed to open stream: No such file or directory in C:\0461454\FIN_27fev\index.php on line 221

Warning: DOMDocument::load() [function.DOMDocument-load]: I/O warning : failed to load external entity "http://prof.tim.cstj.net/aboudrea/xml/3nouvelles.php" in C:\0461454\FIN_27fev\index.php on line 221
//---------------------------------------------

jai lu que DOMDocument->load devrait retourner "false" en cas d'echec mais je n'arrive pas à programmer un IF() qui afficherait un message perso du genre: "Désolé le contenu de la page n'as pus etre téléchargé..."

Merci d'avance pour vos conseils!!!

Configuration: Windows XP
Internet Explorer 6.0 et firefox

Meilleures réponses pour « validation load xml en php » dans :
PHP - Parser du XML Voir Introduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...
Unable to load dynamic library '/usr/lib/php4/20020429/mysql.so VoirVous obtenez un message du type suivant suite à une mise à jour de PHP : Unable to load dynamic library '/usr/lib/php4/20020429/gd2.so' - /usr/lib/php4/20020429/gd2.so: cannot open shared object file: No such file or directory in Unknown on line...
Télécharger Notepad2 VoirNotepad2 est un bloc-note sans installation libre possédant des fonctionnalités avancées de coloration syntaxique. Fonctionnalités Coloration syntaxique pour les langages suivants : HTML, XML, PHP, ASP (JScript, VBS), CSS, JavaScript, VBScript,...
Les standards RSS VoirLe standard RSS Un flux RSS est un simple fichier texte contenant des informations structurées au format XML, permettant de décrire de façon fine le contenu du canal et de chacun des items qui le constituent. Il existe plusieurs versions du...

1

Jerome, le 5 mai 2008 à 11:20:11
  • +1

En faisant ceci :

if ( !$test = @DOMDocument->load('fichier.xml') )
{
echo 'Désolé le contenu de la page n'as pus etre téléchargé...';
}

Le @ sert à ne pas afficher les erreurs PHP de la fonction. Faudra tester il y a surement une erreur dans ce que je te donne.

Répondre à Jerome

2

 dZastreux, le 15 oct 2009 à 00:38:25

Salut, merci du tuyau Jérome,

Sujet assez ancien, certes, mais au final ça peut toujours dépanner les âmes égarées, de passage ! :)
Bon, juste pour dire qu'avec du PHP5, la syntaxe exacte qui a fonctionné pour moi est :

$fileName="book.xml";
function fileToObject($fileName) {
//******************************
$dom = @DOMDocument::load($fileName);
if (!$dom ) { return false; }
//******************************
if (!@$dom->validate()) { return false; }
$object = new stdClass();
$object->source = $fileName;
$root = $dom->documentElement;
$object->root = new stdClass();
getElement($root, $object->root);
return $object;
}

Répondre à dZastreux