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

XML/XSL et SOAP Discussion :

suppression des balises en cas de probleme de parse


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 81
    Par défaut suppression des balises en cas de probleme de parse
    Bonjour,
    Je débute en XML mais je suis en face d’un problème que je ne sais pas comment le résoudre.
    Voila je vous explique la situation :
    Je suis dans une application java qui reçoit un flux XML et l’analyse avec DOM a fin d’interpréter les données.
    Supposons que mon flux xml est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <personne id="0">xxx
    </personne>
    <personne id="1">yyy
    </personne>
    <complement >jej :$s
    </ complement >
    < complement >sdhzeù^:/
    </ complement >
    L’information dans la balise complément risque de contenir des caractères spéciaux qui empêche de parser de le flux xml.
    Comme cette information n’est pas pertinente alors l’idée et de la négliger en cas d’erreur.
    Mon algorithme sera comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try{
    parser le flux avec DOM
    recuperer les donnees
    }
    Catch(exception){
    Supprimer les balises complement 
    Parser le nouveau flux xml
    recuperer les donnees
    }
    Ma question est comment supprimer les balises complement en cas d’erreur sachant que dans ce cas le flux n’est plus considéré comme un flux xml valide à cause des caractères spéciaux.
    Est-ce que il faut le transformer un flux text et puis supprimer les lignes en question ou bien il y a un autre moyen meilleur ?
    Et si ‘il faut le transformer en flux text comment faire ?
    Merci beaucoup pour les réponses que vous pouvez m’apporter.

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Si ton "flux XML" contient des caractères spéciaux ou qu'il n'est pas conforme à la norme XML, alors évidemment il n'est pas parsable, mais en plus ce n'est pas un flux XML mais un simple flux de caractères.
    De plus, si ton flux peut contenir tout et n'importe quoi, il va être difficile de le nettoyer

    Je ne vois pas de solution sauf à ce que les "balises" à nettoyer soient toujours placées au même endroit ou peut-être faire une analyse via une ou des expressions régulières qui ne conserveraient que des coupels balises ouvrantes/fermantes (?).

    Le plus simple est quand même de recevoir un vrai flux XML

    ERE

Discussions similaires

  1. Suppression des balises Html dans mon flux rss
    Par Guispeed4262 dans le forum Windows Phone
    Réponses: 12
    Dernier message: 24/10/2012, 14h47
  2. Suppression des balises script
    Par jmjmjm dans le forum C#
    Réponses: 6
    Dernier message: 21/09/2011, 16h13
  3. Réponses: 2
    Dernier message: 09/04/2007, 20h08
  4. Réponses: 2
    Dernier message: 27/02/2007, 10h16
  5. Comment faire pour annuler des ajouts en cas de problème ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 2
    Dernier message: 24/11/2006, 15h40

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