Validation load xml en php
Dr_king13
-
dZastreux -
dZastreux -
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!!!
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!!!
A voir également:
- Validation load xml en php
- Xml download - Télécharger - Édition & Programmation
- Couldn't load xpcom ✓ - Forum Mozilla Firefox
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
- Easy php - Télécharger - Divers Web & Internet
- Commande en cours de validation fnac - Forum Réseaux sociaux
2 réponses
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.
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.
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;
}
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;
}