IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

XML caractères invalides


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Par défaut XML caractères invalides
    Bonsoir,

    je rencontre un petit problème à l'analyse d'un fichier XML.

    Celui ci comporte des caractères non valides et le script s'arrête tout simplement au chargement/validation du fichier.

    C'est bien ce code qui est bloquant, , mais comment puis je procéder pour contourner ce problème ?



    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <data>
        <desc>&#x1C;lieu nom</desc>
    </data>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $xml = new DOMDocument();
    $xml->load("data.xml");
    $name=$xml->getElementsByTagName('desc');	
    foreach($name as $node)
    {
    	echo $node->nodeValue;
    }
    ?>
    Warning: DOMDocument::load(): xmlParseCharRef: invalid xmlChar value 28 in file:....

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux placer le contenu XML dans une chaîne et remplacer les caractères invalides ou demander au fournisseur de corriger son contenu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Par défaut
    C'est assez délicat dans la mesure où le fournisseur ne rectifiera pas le "tir" et placer un fichier de 6 Mo dans une chaine de caractères, je suis pas sûr que... par contre, dans la mesure où elle est moins stricte au niveau du contrôle, la méthode "DOMDocument::loadHTMLFile" signale bien les erreurs mais laisse continuer le script, elle n'est pas bloquante.

    Mais est ce une bonne façon de faire ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    placer un fichier de 6 Mo dans une chaine de caractères
    C'est déjà un peu ce que tu fais quand tu fais ton load.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Par défaut
    Finalement, je vais adopter ta solution, charger le fichier dans une chaîne, remplacer les caractères bloquants et le charger par un DOMDocument::loadXML.

    Merci pour les conseils.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDOM] xml: caractères invalides
    Par ymajoros dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 02/10/2007, 10h04
  2. [XML]caractère de séparation des contenus des éléments
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/12/2005, 11h07
  3. [XML] caractères interdits
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 02/12/2005, 20h05
  4. [ftp][bsd]caractère invalide dans un nom d'utilisateur.
    Par Invité(e) dans le forum Applications
    Réponses: 5
    Dernier message: 20/09/2005, 19h13
  5. [XML] caractères spéciaux dans un type NMTOKEN
    Par norkius dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 08/09/2004, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo