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

Windows Forms Discussion :

[C#] - Moulinette de traitement de fichiers XML


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut [C#] - Moulinette de traitement de fichiers XML
    Bonjour,

    Voilà quelques temps que je bricole une moulinette pour traiter plusieurs fichiers en XML. Ayant de très faibles bases en C#, j'ai un peu de mal à retrouver ce dont j'aurai besoin et galère à trouver ça dans google (problème de termes, différences de traitement, etc.). Je m'en remet donc aux gourous qui passeraient par là :o

    Voici où j'en suis au niveau du traitement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                DataSet dataSetFichier = new DataSet();
     
                dataSetFichier.ReadXml(txtFichier.Text);
                foreach (DataRow row in dataSetFichier.Tables[0].Rows)
                {
                         //Traitement du fichier Xml
                         //La ligne qui suit est bien sûr fausse :/
                    if (row["D_CESSATION"] && Convert.ToString(row["D_CESSATION"]) == null) listBox.Items.Add("Test");
                }
    Soit pas très loin :/

    Mon problème actuellement: je dois vérifier l'existence d'un champ et si il est présent mais null, je dois alors le supprimer. Tester qu'il est null, pas de problème, mais je n'arrive à tester qu'il soit bien présent (ou absent le cas échéant). Ca doit être tout con, mais pas moyen de trouver :/

    Si vous avez besoin de plus de précisions, n'hésitez pas.
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaye cela

    DataSet dataSetFichier = new DataSet();

    dataSetFichier.ReadXml(txtFichier.Text);
    foreach (DataRow row in dataSetFichier.Tables[0].Rows)
    {
    //Traitement du fichier Xml
    //La ligne qui suit est bien sûr fausse :/
    if (row["D_CESSATION"] != null) {
    if(row["D_CESSATION"].isNull("D_CESSATION") == true) {
    listBox.Items.Add("Test");
    }
    }
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Merci pour ta réponse mais
    'object' does not contain a definition for 'isNull'

  4. #4
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    si tu veux tester que le champ n'est ni null ni "vide", tu peux peut-être tester sa valeur transformée en string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DataSet dataSetFichier = new DataSet();
    dataSetFichier.ReadXml(txtFichier.Text);
    foreach (DataRow row in dataSetFichier.Tables[0].Rows)
    {
       if (row["D_CESSATION"] != null && row["D_CESSATION"].ToString().Trim().Length > 0) 
          listBox.Items.Add("Test");
    }

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Ce dernier test ne me séléctionne rien et si je me limite à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    row["D_CESSATION"] != null
    , toutes mes lignes sont séléctionnées.

    Mon xml de test ne possède que deux lignes avec ces champs.
    <D_CESSATION></D_CESSATION>
    et
    <D_CESSATION> </D_CESSATION>
    Le but étant de supprimer ces champs si ils sont de ce type, j'essaie déjà de pouvoir les sélectionner...

  6. #6
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Ben si le test te renvoi rien, c'est bon alors, vu que tu veux pas les champ null et vide

Discussions similaires

  1. traitement de fichiers xml
    Par stever50 dans le forum C#
    Réponses: 6
    Dernier message: 16/07/2009, 12h05
  2. probleme pour traitement de fichier xml en vba, lenteurs
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 11/09/2008, 15h57
  3. [SimpleXML] Traitement de fichier XML
    Par RasDataMan dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/11/2007, 11h44
  4. [XML] Code PHP pour traitement de fichier XML
    Par gaggy dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/09/2007, 18h44
  5. traitement de fichier XML dans une Tache planifiée
    Par marivi dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 21/06/2005, 10h40

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