bonjour,
je revient vers vous pour la poursuite d'un code que ce forum m'a déjà grandement aidé a écrire ( voir mes précédents posts) pour rappel il s'agit de piocher des éléments dans un fichier .gpx pour les replacer dans une structure xml existante.. jusque la tout va bien , seulement après avoir importé le fichier ainsi crée dans le programme censé le traiter celui ci ne le reconnait pas
pourtant la structure xml est correcte, par contre en ouvrant un autre fichier qui "marche" dans notepad et en le comparant avec le fichier généré une différence saute aux yeux c'est l'apparence "texte" des deux fichiers qui n'est pas identique ( nombre d'espace etc..
c'est pourquoi j'ai transformé mon code de :
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 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim path1 As String = TextBox2.Text Dim path2 As String = TextBox3.Text Dim path3 As String = TextBox4.Text Dim saisie As String = TextBox1.Text 'etape1 Dim docvierge As XDocument = XDocument.Load(path2) Dim docgpx As XDocument = XDocument.Load(path1) Dim nsVierge = docvierge.Root.GetDefaultNamespace Dim symbolTag As XElement symbolTag = docvierge.Root...<Symbol>.Single Dim i As Integer i = 0 For Each trkpt In docgpx.Root.Descendants(docgpx.Root.GetDefaultNamespace + "trkpt") symbolTag.Add(<<%= nsVierge + "Coordinate" %>> <<%= nsVierge + "latitude" %>><%= trkpt.@lat %></> <<%= nsVierge + "longitude" %>><%= trkpt.@lon %></> </>) i = i + 1 Next Dim title As XElement title = docvierge.Root...<Title>.Single title.SetValue(saisie) docvierge.Save(path3)
a ceci :
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 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim path1 As String = TextBox2.Text Dim path2 As String = TextBox3.Text Dim path3 As String = TextBox4.Text Dim saisie As String = TextBox1.Text 'etape1 Dim docvierge As XDocument = XDocument.Load(path2, LoadOptions.PreserveWhitespace) Dim docgpx As XDocument = XDocument.Load(path1) Dim nsVierge = docvierge.Root.GetDefaultNamespace Dim symbolTag As XElement symbolTag = docvierge.Root...<Symbol>.Single Dim i As Integer i = 0 For Each trkpt In docgpx.Root.Descendants(docgpx.Root.GetDefaultNamespace + "trkpt") symbolTag.Add(<<%= nsVierge + "Coordinate" %>> <<%= nsVierge + "latitude" %>><%= trkpt.@lat %></> <<%= nsVierge + "longitude" %>><%= trkpt.@lon %></> </>) i = i + 1 Next Dim title As XElement title = docvierge.Root...<Title>.Single title.SetValue(saisie) docvierge.Save(path3)
pour info la fin du sub ( mais elle ne change rien pour mon problème) j'ai essaye
la structure de départ : "doc vierge" un peu raccourcie mias la structure y est...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 File.WriteAllText(path3, File.ReadAllText(path3).Replace(vbCrLf, vbLf)) MsgBox("end") MsgBox(i) End Sub
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 ?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>
et maintenant voici ce que j'obtient au niveau de la balise "symbol" (dans l'espace de code) et la est mon problème tout apparait sur une seule ligne!
alors que j'obtient : et malgré deux heures de recherche je sèche encore une fois erf...
le tout sur une seule ligne..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <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><latitude>49.266857</latitude><longitude>5.657061</longitude></Coordinate><Coordinate><latitude>49.316164</latitude><longitude>5.647001</longitude></Coordinate> etc .. </Symbol>
alors que je souhaite (pour coller le plus possible au modèle de fichier qui "marche") avoir :
( les balises latitude et longitude ainsi que toutes les balises du document devant être en "texte" décalée de 4 espaces par rapport a coordinate ou les unes par rapport aux autres)
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 <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> <Latitude>..<Latitude> <Longitude>..<Longitude> <Coordinate> </Symbol>
merci a tous d'avance!!
Partager