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

VB.NET Discussion :

xml manque balise


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut xml manque balise
    Bonjour a tous.


    Je suis coincé au niveau de l'extraction de données a partir d'un xml.

    Je m'explique,j'ai un dossier avec 250000 fichiers xml je dois extraire pour chacun certaine valeur et les insérer dans une DB SQL.

    Mon probleme est le suivant je ne connais pas la méthode pour permettre a mon programme de regarder une autre balise xml si celle qu'il devait controler n'existe pas.

    Par exemple dans mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iter.Current.SelectSingleNode("ED_SPEC_CH")
    "ED_SPEC_CH" n'existe pas dans mon xml mais "ED_SPEC_CH2" existe et je dois la récupérer.

    Et bien sur comme il ne trouve pas "ED_SPEC_CH" j'ai le droit a un NullReferenceException


    merci

    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
    Case "EL"
     
                            Dim mycurrentprocat As New Notices
                            mycurrentprocat = LgNotices.Item(lgTes)
     
     
                            If Not LgNotices2.ContainsKey(lgTes) Then
                                mycurrentprocat = New Notices
                                tomeTes = iter.Current.SelectSingleNode("ED_SPEC_CH").Value
                                mycurrentprocat.tomeTes = tomeTes
                                LgNotices2.Add(lgTes, mycurrentprocat)
                            End If
     
                            If Not LgNotices2.ContainsKey(lgTes) Then
                                mycurrentprocat = New Notices
                                volumeTes = iter.Current.SelectSingleNode("ED_SPEC_V").Value
                                mycurrentprocat.volumeTes = volumeTes
                                LgNotices2.Add(lgTes, mycurrentprocat)
                            End If
     
                            If Not LgNotices2.ContainsKey(lgTes) Then
                                mycurrentprocat = New Notices
                                pageDebTes = iter.Current.SelectSingleNode("ED_SPEC_P").Value
                                mycurrentprocat.pageDebTes = pageDebTes
                                LgNotices2.Add(lgTes, mycurrentprocat)
                            End If
     
     
                            idJotTes = getJoIdTes(tomeTes, volumeTes, anneeJot)
                            mycurrentprocat.idJotTes = idJotTes
     
     
     
                            insertTitreEdSpec( _
                                            nomficNoticeTes, _
                                            lgTes, _
                                            mycurrentprocat.idJoTes, _
                                            mycurrentprocat.idCelexTes, _
                                            mycurrentprocat.tomeTes, _
                                            mycurrentprocat.volumeTes, _
                                            mycurrentprocat.pageDebTes, _
                                            mycurrentprocat.titreTitTes, _
                                            mycurrentprocat.idJotTes)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et bien sur comme il ne trouve pas "ED_SPEC_CH" j'ai le droit a un NullReferenceException
    Donc ça veut dire que tomeTes est à null (enfin nothing en VB). Il suffit de tester ça en dessous de ton SelectSingleNode :
    If IsNothing(tomeTest) Then
    'Select an other node
    End If

  3. #3
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut
    Merci pour l'info ^^

    J'ai reussi a resoudre mon problème avec un "try catch"

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/04/2006, 13h31
  2. xml + xsl + balise html
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 09/02/2006, 10h40
  3. xml et balise html
    Par lguittet dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/01/2006, 18h44
  4. [XML] Imbrication balises/texte
    Par bourbaki2003 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 10/11/2004, 18h00
  5. generer xsl depuis xml avec balises inconues ?
    Par cedre dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 24/06/2003, 09h00

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