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 :

LINQ pour Lire fichier XML en C#


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Points : 28
    Points
    28
    Par défaut LINQ pour Lire fichier XML en C#
    Bonjour,

    J'ai le fichier XML suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ocrsdk.com/schema/captureData-1.0.xsd http://ocrsdk.com/schema/captureData-1.0.xsd" type="mrz" xmlns="http://ocrsdk.com/schema/captureData-1.0.xsd">
      <field type="MrzType">
        <value>2line</value>
      </field>
      <field type="Line1">
        <value>P&lt;TUNTHABET&lt;&lt;IDRIS&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;</value>
      </field>
      <field type="DocumentType">
        <value>P</value>
      </field>
      <field type="DocumentSubtype">
        <value>&lt;</value>
      </field>
      <field type="IssuingCountry">
        <value>TUN</value>
      </field>
      <field type="LastName">
        <value>THABET</value>
      </field>
      <field type="GivenName">
        <value>IDRIS</value>
      </field>
      <field type="Line2">
        <value>R420604&lt;&lt;9TUN8704175M171225404910258&lt;1901&lt;08</value>
      </field>
      <field type="DocumentNumber">
        <value>R420604</value>
      </field>
      <field type="DocumentNumberVerified">
        <value>true</value>
      </field>
      <field type="DocumentNumberCheck">
        <value>9</value>
      </field>
      <field type="Nationality">
        <value>TUN</value>
      </field>
      <field type="BirthDate">
        <value>870417</value>
      </field>
      <field type="BirthDateVerified">
        <value>true</value>
      </field>
      <field type="BirthDateCheck">
        <value>5</value>
      </field>
      <field type="Sex">
        <value>M</value>
      </field>
      <field type="ExpiryDate">
        <value>171225</value>
      </field>
      <field type="ExpiryDateVerified">
        <value>true</value>
      </field>
      <field type="ExpiryDateCheck">
        <value>4</value>
      </field>
      <field type="PersonalNumber">
        <value>04910258 1901</value>
      </field>
      <field type="PersonalNumberVerified">
        <value>true</value>
      </field>
      <field type="PersonalNumberCheck">
        <value>0</value>
      </field>
      <field type="ChecksumVerified">
        <value>true</value>
      </field>
      <field type="Checksum">
        <value>8</value>
      </field>
    </document>

    j'essaye avec cette code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    XDocument doc = XDocument.Load(@"C:\temp\image.xml");
     
                var lv1s = from lv1 in doc.Descendants("field")
                           select new
                           {
                               Header = lv1.Attribute("type").Value,
                               Children = lv1.Descendants("value")
                           };
     
                StringBuilder result = new StringBuilder();
                foreach (var lv1 in lv1s)
                {
                    result.AppendLine(lv1.Header);
                    foreach (var lv2 in lv1.Children)
                        result.AppendLine("     " + lv2.Attribute("type").Value);
                }
                Console.WriteLine(result.ToString());
                Console.ReadLine();
    Mais j'ai pas aucune resultat..!

    Comment je peux extraire les données du ci fichier XML avec LINQ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Je ne vois pas pourquoi tu souhaiterais utiliser LINQ ???o_O

    Brefff..... et pourquoi ne pas utiliser XmlDocument au lieu de XDocument ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    		    XmlDocument Xmldoc = new XmlDocument();
    		    Xmldoc.Load(@"D:\Bureau\doc.xml");
     
    		    foreach (XmlElement element in Xmldoc.GetElementsByTagName("field")) 
                {
    			    Document doc = new Document();
    			    if (element.HasAttribute("type")) {
                        Console.WriteLine("Attribute : " + element.GetAttribute("type"));
    			    }
    			    Console.WriteLine("Value : " + element.InnerText);
                    Console.ReadLine(); //Presse la touche entrer lorsqu'une ligne apparait dans la console !
    	            }  
                }
    A+

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 23
    Points : 28
    Points
    28
    Par défaut
    Je vous remercie beaucoup!!

    la solution est marché bien

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

Discussions similaires

  1. Erreur pour lire fichier XML
    Par onda47 dans le forum Android
    Réponses: 15
    Dernier message: 18/01/2013, 18h46
  2. Réponses: 0
    Dernier message: 26/10/2009, 11h44
  3. Lire fichier XML en java
    Par loop4 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 17/05/2006, 16h46
  4. [XML - XSLT] Plusieurs xslt pour un fichier xml
    Par Laure888 dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 17/03/2006, 15h16
  5. problème pour lire fichiers .php3
    Par jejerome dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 28/02/2006, 20h16

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