Bonjour,

Voici mon problème, je me rend compte après avoir écris mon code pour un outil, que le nom d'une variable d'une structure qui me permet de générer un fichier xml en sortie doit impérativement s'appeler "date", mais mon problème est que vb.net ne permet pas d'utiliser ce mot comme variable.
du coup je me sens coincé, je ne sais pas trop quoi faire maintenant que tout mon code est écrit:

Voici en substance mon 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
19
20
21
22
23
24
Public Structure ValidationFile
	Public Header As VHEADER
	Public ValidationList() As Validation
End Structure

'Structure VHEADER
Public Structure VHEADER
	Public XsdVersion As String	
	Public SessionStartDate As String
End Structure

'Structure VAL
Public Structure Validation
	Public VDate As String
	Public CardSerialNumber As String
	Public CompanyCode As String
	Public MediaType As String
	Public CardType As String
	Public ValidationStatusId As String
	Public FailureReasonId As String
	Public ValidationStateId As String
	Public ProductStartValidity As String
	Public ProductEndOfValidity As String
End Structure
Je fais tout un traitement pour renseigner les valeurs de ma structure, puis je transforme cette structure en document xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Public function pValidationFileToXml(byval pValidationFile As ValidationFile) As XmlDocument
 
	Dim doc As XmlDocument
        doc = SerializeToXmlDocument(pValidationFile)
	Return doc
 
End Function
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
Public Function SerializeToXmlDocument(input As Object) As XmlDocument
 
	Dim ser As XmlSerializer = New XmlSerializer(input.GetType(), "http://monsite.com/validationFile")
 
 
        Dim xd As XmlDocument = Nothing
        Using memStm As MemoryStream = New MemoryStream()
            ser.Serialize(memStm, input)
 
            memStm.Position = 0
 
            Dim settings As New XmlReaderSettings()
 
            settings.IgnoreWhitespace = True
 
            Using xtr As XmlReader = XmlReader.Create(memStm, settings)
            	xd = New XmlDocument()
                xd.Load(xtr)
            End Using
        End Using
 
        Return xd
    End Function
puis je sauvegarde mon fichier xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Dim pValidationFileXml As XmlDocument = pValidationFileToXml(pValidationFile)
pValidationFileXml.Save(Application.StartupPath & "\temp\" & "temp.xml")
mais du coup je me retrouve avec ce champs "VDate" qui devrait s'appeler "Date" issu de la déclaration de la structure, le problème étant que je ne peux pas déclarer ce champs comme je le souhaite dans la structure car Date est un mot du langage VB.net

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
<?xml version="1.0"?>
<ValidationFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://monsite.com/validationFile">
  <Header>
    <XsdVersion>1.9</XsdVersion>
    <SessionStartDate>2020-05-28T10:20:19</SessionStartDate>
  </Header>
  <ValidationList>
    <Validation>
      <VDate>2020-05-28T10:38:35</VDate>
      <CardSerialNumber>c35666f1</CardSerialNumber>
      <CompanyCode>1</CompanyCode>
      <MediaType>8</MediaType>
      <CardType>6</CardType>
      <ValidationStatusId>1</ValidationStatusId>
      <FailureReasonId>0</FailureReasonId>
      <ValidationStateId>1</ValidationStateId>
      <ProductStartValidity>2020-05-28T00:00:00</ProductStartValidity>
      <ProductEndOfValidity>2020-06-03T23:59:00</ProductEndOfValidity>
    </Validation>
  </ValidationList>
</ValidationFile>

Merci pour vos idées et conseil.

cordialement,
yaume91