Avatar billede lasserasch Juniormester
20. maj 2009 - 14:23 Der er 6 kommentarer og
1 løsning

Objekter og XML spørgsmål

Hejsa.

Jeg i gang med at lave et meget stort job med rigtig mange objekter og rigtig meget XML som jeg modtager som rå XML og så skal behandle og efterfølgende gemme i en SQL database.

Jeg plejer selv at oprette alle mine objekter og lave alt det her arbejde omkring at læse XML'en igennem og proppe værdierne ind i de rigtige properties i mine objekter.

En kollega har lige fortalt mig på vej ud af døren at der findes noget der hedder Marchall eller noget i den stil, som kan gøre rigtig meget af dette arbejde for mig.

Jeg aner ikke hvad han snakker så jeg ville lige spørge her. Nogen som kan nikke genkendende til dette og kan forklare mig hvad det er og hvordan jeg kan bruge det?

Mvh.
Lasse
Avatar billede sirius Nybegynder
20. maj 2009 - 14:45 #1
Kender ikke lige noget der hedder Marchall, men hvis du har et skema for din xml kan du med xsd.exe autogenerere en objekt struktur.

Derefter kan du bruge XmlSerializer til at læse dit xml ind i denne struktur.
Avatar billede lasserasch Juniormester
20. maj 2009 - 15:49 #2
Jeps, det har jeg også lige fundeet ud af i dette øjeblik. Og det er fandme da smart, (undskyld mit sprog).

jeg har nu fået genereret en .cs fil ud fra et skema jeg har modtaget over XML strukturen.

Men jeg forstår stadig ikke helt hvordan jeg så efterfølgende skal læse den. Jeg kan læse mig til at jeg skal bruge System.Xml.Serialization.Deserialize metoden. Men præcist hvordan jeg ved ikke helt.

Jeg kan godt se at den metode retunerer et object som jeg så går ud fra at man skal parse som en af de klasser XSD.exe har genereret.

Men xsd.exe har jo genereret flere klasser. Hvordan kan jeg styre hvad der skal skrives ned i hvilke klasser. Jeg forstår det sgu ikke helt.

Et eksempel ville nogle hjælpe lidt på det. Har du sådan et?

Mvh.
Lasse
Avatar billede arne_v Ekspert
20. maj 2009 - 16:34 #3
objekter -> XML:

XmlSerializer ser = new XmlSerializer(typeof(DinRodKlasse));
ser.Serialize(dinwriter, ditobjekt);

XML -> objekter:

XmlSerializer ser = new XmlSerializer(typeof(DinRodKlasse));
DinRodKlasse o = (DinRodKlasse)ser.Deserialize(dinreader);
Avatar billede arne_v Ekspert
20. maj 2009 - 17:33 #4
og marshal/unmarshal er bare synonymer for serializing/deserializing
Avatar billede arne_v Ekspert
04. juli 2009 - 03:13 #5
Kommet videre ?
Avatar billede lasserasch Juniormester
10. juli 2009 - 14:43 #6
Yes. Fik det til at spille.... Smid svar, så får vi denne lukket :-)

Mvh.
Lasse
Avatar billede arne_v Ekspert
10. juli 2009 - 15:17 #7
.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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