Dé-sérialisation XML

cs_lebuff Messages postés 39 Date d'inscription lundi 15 août 2011 Statut Membre Dernière intervention 17 juillet 2013 - 23 oct. 2011 à 12:41
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 23 oct. 2011 à 14:16
Bonjour,
Je cherche à comparer deux XML dont je connais la structure qui est la même pour les deux. Pour cela on m'a orienté vers la dé-sérialisation. Je me suis donc penché dessus et j'ai rajouté ceci à mon projet:
    Private MyCompta As New Serialisation1
    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Dim myFileStream As Stream = File.OpenRead(Application.StartupPath & "\version.xml")
        Dim deserializer As New SoapFormatter
        MyCompta = CType(deserializer.Deserialize(myFileStream), Serialisation1)
        MsgBox(MyCompta.sha1.ToString)
        myFileStream.Close()
    End Sub
    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    End Sub
End Class
<Serializable()> Public Class Serialisation1
    Public files As Double
    Public file As Double
    Public sha1 As Double
End Class


Voici la structure de mon XML:
<?xml version="1.0" encoding="UTF-8"?>
<files>
    <file>
        <filename>test.txt</filename>
        <sha1>b7d23a540a7cda882dab7bf2f7c1207365e82ec2</sha1>
    </file>
    <file>
        <filename>calques_opacite.png</filename>
        <sha1>031775fbbb45c154f7c9911f3b482ecf5a9c280f</sha1>
    </file>
</files> 


Mais lorsque je debug mon application, elle bloque au niveau de la désérialisation et me renvoie l'erreur:

Parse Error, no assembly associated with Xml key files


Le problème vient donc de la classe Serialisation1 où la structure du XML n'est pas du tout précisée à mon avis mais je sais pas du tout comment la préciser justement, voilà tout le problème. Si quelqu'un pouvait m'aider à résoudre ce problème où me conseiller un autre moyen plus pertinent si ça existe de comparer deux XML à la structure semblable je lui en serais reconnaissant.
Cordialement.

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
23 oct. 2011 à 14:16
Bonjour,

Dans ce cas, tu peux aussi utiliser l'espace de Nom System.XML, mettre les données dans des objets, puis comparer ces objets.
XMLDocument, ...

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Rejoignez-nous