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 :

probleme lors d'insertion de balises dans un fichier xml existant et retour chariot [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    divers
    Inscrit en
    Juillet 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Juillet 2016
    Messages : 11
    Par défaut probleme lors d'insertion de balises dans un fichier xml existant et retour chariot
    bonjour

    Visiblement si l'on met trop d'éléments dans un post cela doit créer une erreur car impossible d'y accéder après avoir chargé de nouveaux extraits de codes j'ai une erreur type 503 sur mes précédentes discussion.. si un modérateur lit ces lignes peut être pourrait il effacer mes deux précédents posts.. mon intention n'est pas de polluer le forum

    donc je reprends :

    je souhaite a partir d'un fichier .gpx en extraire certaine données (attributs lat et lon) pour les insérer a un endroit précis dans un fichier .xml nommé vierge (qui n'est pas vide) , qui contient une structure de balises xml a compléter avec les éléments du fichier .gpx via mon code (ce fichier sert ultérieurement dans un autre programme)
    pour cela je veux créer a partir du noeud "symbol" de vierge.xml une balise "coordinate" et deux balises enfants qui contiennent les données extraites du .gpx .. ce a quoi j'arrive avec mon code ci dessous mais ma balise "coordinate" dans le fichier issu de mon codecontient un namespace xmlns="" ce que je ne souhaite pas..

    de plus dans le fichier issu j'ai des retours chariot en fin de ligne "CR" et je souhaite qu'il n'y ait que des "LF"

    voila merci d'avance et je vais charger petit a petit mes extraits de code et de fichier pour que vous y voyez plus clair :



    fichier gpx :

    Code XML : 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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <gpx
     version="1.1"
     creator="Global Mapper - http://www.globalmapper.com"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://www.topografix.com/GPX/1/1"
     xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
     <metadata>
     </metadata>
    <trk>
     <name>Mauvaise meteo Nord</name>
     <desc>Mauvaise meteo</desc>
     <trkseg>
      <trkpt lat="49.266857" lon="5.657061">
      </trkpt>
      <trkpt lat="49.316164" lon="5.647001">
      </trkpt>
      <trkpt lat="49.317509" lon="5.640111">
      </trkpt>
      <trkpt lat="49.314512" lon="5.632686">
      </trkpt>
      <trkpt lat="49.309687" lon="5.627284">
      </trkpt>
      <trkpt lat="49.307527" lon="5.617787">
      </trkpt>
      <trkpt lat="49.309996" lon="5.604903">
      </trkpt>
      <trkpt lat="49.316894" lon="5.588619">
      </trkpt>
      <trkpt lat="49.328232" lon="5.568324">
      </trkpt>
      <trkpt lat="49.337402" lon="5.547300">
      </trkpt>
      <trkpt lat="49.352563" lon="5.523850">
      </trkpt>
      <trkpt lat="49.364966" lon="5.499337">
      </trkpt>
      <trkpt lat="49.371691" lon="5.481194">
      </trkpt>
      <trkpt lat="49.379100" lon="5.467929">
      </trkpt>
      <trkpt lat="49.386523" lon="5.453751">
      </trkpt>
      <trkpt lat="49.390510" lon="5.443036">
      </trkpt>
      <trkpt lat="49.393150" lon="5.421036">
      </trkpt>
      <trkpt lat="49.391325" lon="5.413671">
      </trkpt>
      <trkpt lat="49.381276" lon="5.392720">
      </trkpt>
      <trkpt lat="49.378523" lon="5.382282">
      </trkpt>
      <trkpt lat="49.380007" lon="5.377504">
      </trkpt>
      <trkpt lat="49.387585" lon="5.364836">
      </trkpt>
      <trkpt lat="49.387128" lon="5.358146">
      </trkpt>
      <trkpt lat="49.394142" lon="5.324527">
      </trkpt>
      <trkpt lat="49.405706" lon="5.300511">
      </trkpt>
      <trkpt lat="49.407007" lon="5.284804">
      </trkpt>
      <trkpt lat="49.405593" lon="5.276248">
      </trkpt>
      <trkpt lat="49.394171" lon="5.242978">
      </trkpt>
      <trkpt lat="49.390037" lon="5.231573">
      </trkpt>
      <trkpt lat="49.389090" lon="5.219102">
      </trkpt>
      <trkpt lat="49.389601" lon="5.202756">
      </trkpt>
      <trkpt lat="49.384324" lon="5.184784">
      </trkpt>
      <trkpt lat="49.371894" lon="5.176511">
      </trkpt>
      <trkpt lat="49.367985" lon="5.173913">
      </trkpt>
      <trkpt lat="49.363799" lon="5.164943">
      </trkpt>
      <trkpt lat="49.365591" lon="5.153812">
      </trkpt>
      <trkpt lat="49.366663" lon="5.138709">
      </trkpt>
      <trkpt lat="49.364558" lon="5.124074">
      </trkpt>
      <trkpt lat="49.359473" lon="5.110223">
      </trkpt>
      <trkpt lat="49.353354" lon="5.098450">
      </trkpt>
      <trkpt lat="49.346559" lon="5.091196">
      </trkpt>
      <trkpt lat="49.332000" lon="5.086643">
      </trkpt>
      <trkpt lat="49.320110" lon="5.072519">
      </trkpt>
      <trkpt lat="49.308989" lon="5.063578">
      </trkpt>
      <trkpt lat="49.305124" lon="5.058575">
      </trkpt>
      <trkpt lat="49.301266" lon="5.052968">
      </trkpt>
      <trkpt lat="49.298882" lon="5.042278">
      </trkpt>
      <trkpt lat="49.294054" lon="5.024229">
      </trkpt>
      <trkpt lat="49.294392" lon="5.004880">
      </trkpt>
      <trkpt lat="49.292285" lon="4.977870">
      </trkpt>
      <trkpt lat="49.300330" lon="4.970325">
      </trkpt>
      <trkpt lat="49.307112" lon="4.966964">
      </trkpt>
      <trkpt lat="49.312056" lon="4.967161">
      </trkpt>
      <trkpt lat="49.326871" lon="4.957156">
      </trkpt>
      <trkpt lat="49.330721" lon="4.951858">
      </trkpt>
      <trkpt lat="49.331402" lon="4.934931">
      </trkpt>
      <trkpt lat="49.338409" lon="4.905984">
      </trkpt>
      <trkpt lat="49.341545" lon="4.895809">
      </trkpt>
      <trkpt lat="49.345996" lon="4.889924">
      </trkpt>
      <trkpt lat="49.347523" lon="4.881198">
      </trkpt>
      <trkpt lat="49.345842" lon="4.875078">
      </trkpt>
      <trkpt lat="49.340511" lon="4.874269">
      </trkpt>
      <trkpt lat="49.337772" lon="4.872348">
      </trkpt>
      <trkpt lat="49.333860" lon="4.869475">
      </trkpt>
      <trkpt lat="49.322589" lon="4.844528">
      </trkpt>
      <trkpt lat="49.313936" lon="4.816058">
      </trkpt>
      <trkpt lat="49.304335" lon="4.797549">
      </trkpt>
      <trkpt lat="49.302412" lon="4.781140">
      </trkpt>
      <trkpt lat="49.303267" lon="4.760306">
      </trkpt>
      <trkpt lat="49.302019" lon="4.755103">
      </trkpt>
      <trkpt lat="49.302019" lon="4.755103">
      </trkpt>
     </trkseg>
    </trk>
     <extensions>
     </extensions>
    </gpx>

  2. #2
    Membre averti
    Homme Profil pro
    divers
    Inscrit en
    Juillet 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Juillet 2016
    Messages : 11
    Par défaut suite
    le fichier .xml d'entrée nommé "vierge.xml"

    je l'ai un peu raccourci mais j'en ai gardé la structure

    Code XML : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <DMG_SITAC xmlns="http://www.eads.com/eplf">
        <Title>TEMPLATE_1RHC</Title>
        <EPLFVersion>2.3</EPLFVersion>
        <CreationDate>2015-06-03T10:31:43.388+02:00</CreationDate>
        <RevisionDate>2015-06-03T10:31:43.388+02:00</RevisionDate>
        <ExpirationDate>2016-06-03T10:31:43.388+02:00</ExpirationDate>
        <Author>ADMIN</Author>
        <Comment></Comment>
        <HelicopterType>NH_90</HelicopterType>
        <Country>FRANCE</Country>
        <EurogridVersion>201</EurogridVersion>
     <ThematicClass>
            <TC_Name>US1</TC_Name>
            <TC_DMG1>true</TC_DMG1>
            <TC_DMG2>true</TC_DMG2>
            <Overlay>
                <OvlName>WRK20</OvlName>
                <OvlNumber>20</OvlNumber>
                <OvlDMG1>false</OvlDMG1>
                <OvlDMG2>false</OvlDMG2>
                <SecLevel> </SecLevel>
                <Symbol>
                    <ID_EuroGridSymbol>113</ID_EuroGridSymbol>
                    <Colour>3</Colour>
                    <LineType>2</LineType>
                    <CtrlFlag>0</CtrlFlag>
                    <CtrlFlag>0</CtrlFlag>
                    <Text></Text>
                    <Course>0</Course>
                    <Speed>0</Speed>
                    <ScaleMin>100</ScaleMin>
                    <ScaleMax>500</ScaleMax>
                </Symbol>
            </Overlay>
        </ThematicClass>
    </DMG_SITAC>

  3. #3
    Membre averti
    Homme Profil pro
    divers
    Inscrit en
    Juillet 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Juillet 2016
    Messages : 11
    Par défaut suite
    mon code vb net :

    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
     
        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            Dim i As Integer
            i = 0
            Dim doc As New XmlDocument()
            doc.Load("D:\MTOQE.xml")
            Dim trk As XmlNodeList = doc.GetElementsByTagName("trkpt")
            Dim doc2 As New XmlDocument()
            doc2.Load("D:\vierge.xml")
            Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(doc2.NameTable)
            nsmgr.AddNamespace("ab", "http://www.eads.com/eplf")
            Dim sym As XmlNode
            Dim root As XmlElement = doc2.DocumentElement
            sym = root.SelectSingleNode("descendant::ab:Symbol", nsmgr)
            For Each noeud As XmlElement In trk
                Dim coord As XmlElement
                coord = doc2.CreateElement("Coordinate")
                sym.AppendChild(coord)
     
                Dim lat As XmlElement = doc2.CreateElement("latitude")
                Dim valeurlat As XmlText = doc2.CreateTextNode(noeud.Attributes("lat").Value)
                lat.AppendChild(valeurlat)
                coord.AppendChild(lat)
                Dim lon As XmlElement = doc2.CreateElement("Longitude")
                Dim valeurlon As XmlText = doc2.CreateTextNode(noeud.Attributes("lon").Value)
                lon.AppendChild(valeurlon)
                coord.AppendChild(lon)
     
                i = i + 1
            Next
            doc2.Save("roy3.xml")
            MsgBox("ended")
            MsgBox(i)
        End Sub

  4. #4
    Membre averti
    Homme Profil pro
    divers
    Inscrit en
    Juillet 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Juillet 2016
    Messages : 11
    Par défaut et fin
    et ce que j'obtient a l'arrivée entre les deux balises "symbol" dans le .xml issu de mon code :

    Code XML : 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
    <Symbol>
            <ID_EuroGridSymbol>113</ID_EuroGridSymbol>
            <Colour>3</Colour>
            <LineType>2</LineType>
            <CtrlFlag>0</CtrlFlag>
            <CtrlFlag>0</CtrlFlag>
            <Text>
            </Text>
            <Course>0</Course>
            <Speed>0</Speed>
            <ScaleMin>100</ScaleMin>
            <ScaleMax>500</ScaleMax>
            <Coordinate xmlns="">
              <latitude>49.266857</latitude>
              <Longitude>5.657061</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.316164</latitude>
              <Longitude>5.647001</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.317509</latitude>
              <Longitude>5.640111</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.314512</latitude>
              <Longitude>5.632686</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.309687</latitude>
              <Longitude>5.627284</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.307527</latitude>
              <Longitude>5.617787</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.309996</latitude>
              <Longitude>5.604903</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.316894</latitude>
              <Longitude>5.588619</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.328232</latitude>
              <Longitude>5.568324</Longitude>
            </Coordinate>
            <Coordinate xmlns="">
              <latitude>49.337402</latitude>
              <Longitude>5.547300</Longitude>
            </Coordinate>
          </Symbol>

  5. #5
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Oui t'es pas le seul à avoir des erreurs 503 je pensais pas que les fichiers seraient aussi longs (même si là un au moins est tronqué)
    Alors on va traiter les problèmes séparément et laisser la gestion des retour chariot de côté pour le moment.

    Il y a encore quelque chose que j'ai du mal à comprendre ; dans ton extrait de code on voit que tu ajoutes un namespace ab puis tu cherches ab:Symbol mais dans le résultat que tu obtiens il n'y a plus mention de ce ab.
    Du coup s'il ne doit pas figurer en fichier de sortie, à quoi sert-il ? Et s'il doit figurer en sortie où doit-il être ? au niveau de tes xmlns vides ?

  6. #6
    Membre averti
    Homme Profil pro
    divers
    Inscrit en
    Juillet 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : divers

    Informations forums :
    Inscription : Juillet 2016
    Messages : 11
    Par défaut rep
    re bonjour, er merci de bien vouloir m'aider!!

    en fait ce ab: ne sert a rien , ce bout de code je l'ai realisé en lisant un livre sur les fondamentaux du vb net et dans lequel il est expliqué ( ou plutot j'ai compris) que pour utiliser un "xpath" ou un "selectsinglenode" il est nescessaire d'inscrire toutes les propriétés des balises parentes de celles sur laquelle on veut pointer (et donc namespace inclus) , j'ai donc dans ce code essayé (sans doute maladroitement ) de declarer le namespace qui figure dans la première balise (xlmns="truc.com") afin que ma recherche aboutisse bien sur la balise "symbol" dans laquelle je veux creer une structure du type:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <coordinate>
             <latitude>
              lat pt1
              </latitude>
              <longitude>
               long pt1
              </longitude>
     
               etc * nb de pt
     
    </coordinate>

    et rien de plus , sans namespace donc

    en fait ce bout de code est seul qui m'ait permis par tâtonnement d'arriver a pointer sur la balise "symbol" j'ai eu beau essayé d'appliquer méthodiquement les règles d'écriture j'ai beaucoup beaucoup galéré!!


    Merci encore!!

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

Discussions similaires

  1. [DOM] Insertion d'élément dans un fichier XML en PHP
    Par marcus13 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 03/04/2008, 13h51
  2. Pb de balises dans un fichier XML
    Par gaggy dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/10/2007, 14h03
  3. Réponses: 3
    Dernier message: 29/06/2006, 16h54
  4. Insertion d'enregistrement dans un fichier XML
    Par davestar dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/04/2006, 17h22

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