Har två stycken objekt: Hm... Det går inte. > Hm... Det går inte. Hm... Jag har faktiskt en liten idé, ganska ful, men den fungerar. Jo det skulle ju lösa det här specifika problemet, men ändå inte, det blir ju ett extra ställa som måste känna till de här klasserna. Fråga ang serialisering till xml
[XmlRoot("workingday")]
public class WorkingDay
{
DateTime start;
DateTime stop;
}
[XmlRoot("nonworkingday")]
public class NonWorkingDay : WorkingDay
{
}
Dessa ska sedan serialiseras till xml och blir då:
<workingday>
<start/>
<stop/>
</workingday>
<nonworkingday>
<start/>
<stop/>
</nonworkingday>
Eftersom det inte egentligen skiljer något mellan objekten så skulle man ju kunna skilja på dom genom en parameter, som blir ett attribut i xml:en men det går inte för xml:en är specificerad. Så min fråga är hur jag ska åstadkomma ovanstående xml från följande klass utan att "manuellt" generera xml:en.
public class WorkingDay
{
bool working;
DateTime start;
DateTime stop;
}Sv: Fråga ang serialisering till xml
Eller nja, du skulle på något sätt kunna generera den variant som du inte ville ha för att sedan köra xslt på den och få den variant du vill ha. Fast det är omständligare...Sv:Fråga ang serialisering till xml
Ja jag har ju letat efter ett sätt att lösa detta. Jag har överhuvudtaget inte hittat så mycket information om hur serialisering fungerar under kulisserna (och hur man kan "debugga" serialisering).
Jag antar att det riktiga sättet att lösa problemet vore att göra xml-formatet bättre, men det är som sagt redan specificerat så det är tyvärr inget alternativ.Sv: Fråga ang serialisering till xml
Om du ärver ifrån System.Xml.XmlTextWriter och skapar en egen klass utav den kan du köra override på lite saker. Med lite smart programmering kan du i den metod som skriver ut taggar kolla om det är just den <WorkingDay> som ska skrivas ut. Om så är fallet sparar du undan det. Sedan väntar du till att <working> ska skrivas ut. När den kommer väljer du vilken tagg du ska skriva ut, sedan skippa du den här taggen.
Det är ingen fin lösning, och det blev nog ingen fin förklaring. Men, men, den fungerar. Har använt den tekniken förut på andra problem och den fungerar bra :)Sv:Fråga ang serialisering till xml
Vad man skulle kunna göra kanske är att använda din lösning i kombination med attribut för att styra undantagen till xml-skrivandet.