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

C++/CLI Discussion :

Extraire le contenu brut dans une balise xml


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut Extraire le contenu brut dans une balise xml
    Bonjour à tous,

    J'ai un string contenant une balise de la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <y:txt xxxxx> contenu_txt </y:txt>
    Sans utiliser les méthodes qui parsent les fichiers xml, pourriez-vous me recommandez une méthode facile et efficace pour extraire le text: contenu_txt.

    Merci beaucoup d'avance pour vos retours !

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    Si tu es sûr du format :
    * sans C++ (en C) ni CLI (std::string.c_str ou char*) : deux strchr ?
    * en C++ et toujours pas CLI (std::string) : deux find_first_of ?
    * en C++/CLI (System::String) : deux IndexOf ?

    La version C sera la plus simple (mais non c'est pas du prosélytisme :p).

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    La version C sera la plus simple (mais non c'est pas du prosélytisme :p).
    C'est aussi la largement plus limité, quid de la gestion des CDATA, de l'encodage xml des caractères réservés, etc...

    Sans utiliser les méthodes qui parsent les fichiers xml,
    C'est vraiment chercher à s'emmerder pour rien.

    une méthode facile et efficace
    Bin, comme tu l'as dit implicitement, en utilisant les bibliothèques et classe de framework qui le feront toujours largement mieux qu'un pauvre code tout moisi fait sans même lire les spécification (imbuvables) de ce qu'est XML.

    Et quite à faire dans le cracra, les expressions régulières sont nos amis (et elles sont dans le C++ standard depuis C++11).

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Citation Envoyé par bacelar Voir le message
    C'est aussi la largement plus limité, quid de la gestion des CDATA, de l'encodage xml des caractères réservés, etc...
    Le CDATA n'a aucune incidence avec un strchr(GT) et un strrchr(LT). Pareil pour les caractères réservés échappés (l'OP veut une méthode simple, m'est avis qu'il veut justement éviter une usine à gaz qui fait l'interprétation car il n'en a pas le besoin). Reste le cas du strchr(GT) si un attribut a pour valeur une chaine contenant un GT non échappé (pas sûr que ce soit valide, à vérifier).

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    m'est avis qu'il veut justement éviter une usine à gaz
    Vu la simplicité des choses, c'est largement plus du NIH (not invented here) qu'autre chose.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut
    J'utilise déjà un framework du parsing xml mais l'un des fichiers parsé contient des caractères spéciaux et des balises de mise en page HTML causant des problèmes au framework du parsing XML... c'est pourquoi je demande des méthodes autres que les méthodes du parsing et non plus la volonté de compliquer la vie

    Merci beaucoup pour vos retours, je pense que la méthode la plus pratique est d'utiliser les fonctions find et erase.

Discussions similaires

  1. Modification d'un élement dans une balise XML
    Par Krash66 dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2009, 23h37
  2. Ajout aléatoire d'une String dans une balise XML à partir d'un tableau de String
    Par chebmo1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/03/2009, 11h21
  3. Obtenir le contenu intégral d'une balise XML
    Par black-falco dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/02/2009, 08h43
  4. [DOM4J] Récupérer un id dans une balise XML
    Par tiph02 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 15/01/2009, 16h16
  5. [XML][PHP]Extraire balise img dans une balise xml
    Par thierry232323 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/10/2006, 13h25

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