Bonjour,

J'ai un document XML qui est "bindé" à des textbox (WPF).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dim systemdata As XmlDataProvider = New XmlDataProvider()
Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        systemdata.Source = New Uri("fichier.xml")
        systemdata.XPath = "Base"
        Grid1.DataContext = systemdata
End Sub
Et il est sauvé ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
systemdata.Document.Save("fichier.xml")

Par ailleurs, dans le code VB, je dois détecter les éléments vides à l'intérieur de ce même fichier XML. J'ouvre donc le fichier XML et je lis l'élément dont j'ai besoin et le place dans une variable:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Dim sysname As String = ""
Dim XmlReader As New XmlTextReader("Fichier.xml")
        While XmlReader.Read()
            If (XmlReader.NodeType = XmlNodeType.Element) Then
                If (XmlReader.Name = "Name") Then
                    sysname = XmlReader.ReadString()
                End If
            End If
A la fin de l'élément, je voudrais vérifier de quoi il était rempli..et notamment si il est vide:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
            If (XmlReader.Name = "Name" And XmlReader.NodeType = XmlNodeType.EndElement) Then
                If sysname = String.Empty Then
                    MsgBox("Element Vide", 48, "Attention")
                End If
            End If
        End While
XmlReader.Close()
Là, je me rend compte que les éléments vides ne sont pas détectés.
En regardant le fichier XML de plus près, je me rend compte que lorsqu'il est sauvé (systemdata.Document.Save("fichier.xml"), il y a un reformatage qui est effectué!
Un élément vide de ce type:
se voit sauvé en:
Il y a donc vraisemblablement un CRLF (line break carriage return)...qui fait qu'il n'est pas détecté comme ""/String.Empty!?

Ma question est donc la suivante:
Comment puis-je prévenir le "reformatage" de mon fichier XML...et maintenir les éléments vides sur une seule ligne?

Merci!!!