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 :

Lecture dans un document XML [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut Lecture dans un document XML
    Bonjour,

    Dans une applic en C# je reçois une chaîne de caractère structurée comme celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg [
    
    ]>
    <svg id="20924" width="752px" height="480px" viewBox="0 0 752 480" fill="none">
      <title>VS Debug Graphics</title>
    <image x="0" y="0" width="752" height="480" xlink:href="snapshot.img"/>
    <g stroke="#0000FF">
      <polygon fill="none" points="16,120 735,120 735,275 16,275 " />
    </g>
    </svg>
    Je cherche à récupérer la chaine de caractère que j'ai mis en vert.
    Je ne vois pas trop comment m'y prendre avec la classe XMLDocument.

    Merci de votre aide,
    Christian

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    Cherche XPath sous Google

  3. #3
    Membre confirmé Avatar de istace.emmanuel
    Homme Profil pro
    Senior Full-Stack .Net Developer
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Full-Stack .Net Developer
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Tu as aussi LinqToXML que je trouve personnellement plus facile à appréhender que XPath et qui de manière générale est je pense une bonne chose à apprendre (Linq en générale).

  4. #4
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut Lecture d'un document XML
    Merci pour les idées, cela me met sur la piste de ce qu'il faut faire.

    J'ai cependant un soucis.

    Lorsque j'exécute la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XDocument XDoc = XDocument.Parse(e.Data);
    J'ai une exception qui est générée dans laquelle j'ai l'info :

    'xlink' est un préfixe non déclaré. Ligne 7, position 45.
    la variable e.Data contient une chaîne de caractère avec le contenu suivant :

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg [

    ]>
    <svg id="2" width="752px" height="480px" viewBox="0 0 752 480" fill="none">
    <title>VS Debug Graphics</title>
    <image x="0" y="0" width="752" height="480" xlink:href="snapshot.img"/>
    <g stroke="#0000FF">
    <polygon fill="none" points="16,120 735,120 735,275 16,275 " />
    </g>
    <g stroke="#00FF00" id="2">
    <polygon fill="none" points="315,166 243,166 244,238 316,237 " />
    </g>
    </svg>
    Il faut savoir que cette chaîne est générée par un lecteur de code 2D, je n'ai aucun moyen d'agir dessus. J'ai juste besoin de pouvoir la parcourir pour extraire les positions des polygon (les points).

    Merci de votre aide.
    Christian

  5. #5
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut Solution
    Je suis bête, dans mon message précédent j'indique qu'il y a une ref qui pose problème dans le bloc XML (le ref xlink.

    Ce provoquait une exception lors de commande XDocument.parse(...).

    Pour solutionner ce problème j'ai simplement supprimer le text xlink: de la chaîne de caractère. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stxml = e.Data.Replace("xlink:", "");
    Merci pour l'aide apportée.

    Christian

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/05/2006, 11h33
  2. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  3. Sauver un TStream dans un document XML
    Par srvremi dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2004, 13h17
  4. recherche dans un document xml via DOM
    Par ndoye_zaff dans le forum APIs
    Réponses: 5
    Dernier message: 11/06/2003, 14h44
  5. Stocker du texte mis en forme dans un document XML
    Par ovh dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/02/2003, 10h23

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