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# Discussion :

Extraction Chaine entre balises XML


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 390
    Par défaut Extraction Chaine entre balises XML
    Bonjour, j'ai une chaine de caractères comportant des balises XML.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <id>0222222</id>
    <Name>Toto</Name>
    <Desc>tatatata</Desc>
    ...
    <id>0222223</id>
    <Name>Titi</Name>
    <Desc>tatatata</Desc>
    Ce que je veux faire : Récupérer "Toto" et "tatatata" --> insertion dans ma table
    Puis récupérer "Titi" et "tatatata" ---> insertion dans ma table
    Et ceci x nombres de fois que de couple <id><name>
    Cordialement

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Si tu as une chaine contenant du XML correctement formatté, le plus simple est de créer à partir de cette chaine un document Xml en utilisation XmlDOM ou Linq To Xml et d'extraire les noeuds qui t'intéressent.

  3. #3
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 823
    Par défaut
    Je suis un adapte du DOM/XPath...
    pour info : mdsn is your friend if you inderstand it !

    A voir comment ça marche avec LinQ2XML...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ton document XML n'a pas un élément racine aussi ?

    S'il a une structure comme ça (peut importe le vrai nom de l'élément "racine")

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <racine>
        <id>0222222</id>
        <Name>Toto</Name>
        <Desc>tatatata</Desc>
        ...
        <id>0222223</id>
        <Name>Titi</Name>
        <Desc>tatatata</Desc>
    </racine>

    Tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string xml = ...
    var doc = XDocument.Parse(xml);
    int id = (int)doc.Root.Element("Id").Value;
    string name = (string)doc.Root.Element("Name").Value;
    string desc = (string)doc.Root.Element("Desc").Value;

  5. #5
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 823
    Par défaut
    tomlev, grand maître du XML...

    J'ai une petite question : ton extrait de code donne le premier élément trouvé, non ? s'il se répête, ça ne marche pas ? (je n'ai jamais essayé cette méthode, c'est pour ma culture pro... Mais j'ai un doute)

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par kheironn Voir le message
    J'ai une petite question : ton extrait de code donne le premier élément trouvé, non ?
    Oui.
    D'après la question j'ai supposé qu'il n'y en avait qu'un de chaque...

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

Discussions similaires

  1. Modifier texte entre balises XML
    Par flavdu44 dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2012, 10h52
  2. Mettre du texte entre balises XML..?
    Par doudoubens dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 11/03/2009, 10h35
  3. [SAX] Recuperer une chaine XML entre balises avec SAX
    Par Ange-Louis dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 01/08/2008, 11h33
  4. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 10h02
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 17h36

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