Avatar billede mickni33 Nybegynder
16. oktober 2008 - 09:37 Der er 6 kommentarer og
1 løsning

Xml.Serialization fra XML til Objekter

jeg har lavet en flot metode som mapper fra objekter til xml dokument som ser sådan ud:

Public Shared Function ObjToXML(ByVal obj As Object) As Xml.XmlDocument
            Dim xml As New Xml.XmlDocument

            Try
                Dim x As New Xml.Serialization.XmlSerializer(obj.GetType())
                Dim IOSTR As IO.Stream = New IO.MemoryStream
                x.Serialize(IOSTR, obj)
                IOSTR.Seek(0, System.IO.SeekOrigin.Begin)
                Dim xr As System.Xml.XmlReader = New System.Xml.XmlTextReader(IOSTR)


                Xml.Load(xr)

            Catch ex As Exception

            End Try

Men hvad nu hvis jeg gerne vil den anden vej , altså jeg har et dokument som jeg gerne vil mappe til objekter..
Hvordan vil koden se ud til det?
            Return Xml

        End Function
Avatar billede arne_v Ekspert
16. oktober 2008 - 15:45 #1
Enten skal du reverse engineere en klasse som kan deserialiseres fra dokumentet.

Det er nok svaert.

Men hvis du har et skema for dokumentet kan du goere noget andet. Du kan nemlig generere
en klasse udfra skemaet med xsd utilityen.

Det tror jeg er vejen frem.
Avatar billede mickni33 Nybegynder
16. oktober 2008 - 16:28 #2
Dim xmlObj As XmlSerializer = New System.Xml.Serialization.XmlSerializer(obj.GetType())
                Dim strObj As IO.FileStream = New IO.FileStream(path, IO.FileMode.Open)
                obj = xmlObj.Deserialize(strObj)
                obj.DeserializeComplete()
Avatar billede arne_v Ekspert
16. oktober 2008 - 16:39 #3
Det virker fint hvis XML er lavet med Serialize.

Hvis ikke det er tilfaeldet, saa er det at jeg mener at XSD er vejen frem.
Avatar billede mickni33 Nybegynder
16. oktober 2008 - 18:58 #4
det er det i dette tilfælde..
læg et svar
Avatar billede arne_v Ekspert
16. oktober 2008 - 19:11 #5
OK
Avatar billede arne_v Ekspert
27. oktober 2008 - 03:17 #6
så mangler du bare at acceptere
Avatar billede mickni33 Nybegynder
27. oktober 2008 - 08:43 #7
:-) sorry
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester