Eure Meinung bezüglich eines Xml-Designs ist gefragt
-
Aloha Gemeinde,
ich bin grad dabei einen dynamischen Klassengenerator mit CodeDom zu bauen.
Dieser Klassengenerator soll eine Xml einlesen und anhand dieser die Klassen Membern aufbauen.Die Xmlstruktur kann dabei willkürlich sein, bis auf eine kleine Ausnahme. Um zur Laufzeit rauszukriegen was für ein Typ der Knoten später in der Klassenstruktur hat muss ich die Typen im xml mitgeben. Und da wollte ich eure Meinung zu hören. aktuell habe ich es so gelöst:<?xml version="1.0" encoding="utf-8"?> <Personen> <Person> <Name> <Type>System.String</Type> <Vorname>Bernd</Vorname> <Type>System.String</Type> <Nachname>Hansen</Nachname> </Name> </Person> </Personen>
Würdet ihr es anders machen, habt ihr tips wie ich das intuitiver gestalten könnte.Hab auch schon dran gedacht es als Attribut mitzuführen, aber ich frag einfach mal bei euch in die Runde und würde mich über paar Ergüsse sehr freuen.
-
Kannst du den Typ nicht an den entsprechenden Member binden?
<vorname type="System.String">bla</vorname>
Außerdem fehlen wohl noch die eigenschaften, ob public, private...
Das würde ich dann so lösen:
<public> <name type="System.String">Name</name> <name1 type="System.String">Name1</name> <name2 type="System.String">Name2</name> </public> <private> ... </private>
Vielleicht ließen sich aber sogar Typen auf diese Weise zusammenfassen. Ich wäre jetzt gedanklich hier:
<public> <type value="System.String"> <var1>Bla</var1> <var2>Blablub</var2> </type> </public> <private> <type value="int"> <myint>100</myint> </type> </private>
Soweit meine Phantasie
-
Ok an das zweite habe ich auch schon gedacht. Hmm an private und public hab ich gar nicht gedacht.Danke für den Hinweis.
-
Firefighter schrieb:
Ok an das zweite habe ich auch schon gedacht. Hmm an private und public hab ich gar nicht gedacht.Danke für den Hinweis.
Es gibt natürlich auch noch
const
undstatic
, oder nicht?Auch gibt es für einige Variablen Standardwerte.
public int x = 5;
Das könnte man mit einem Attribut
default
lösen
-
Jo naklar die sind nicht zu vergessen.
Aber worauf es abzielen soll ist ja, das User die diese Klasse benutzen, später nicht all zu große Änderungen in ihre Daten-XML einpflegen müssen, die Typangaben werden sicherlich für einige schon zu viel Arbeit sein. Verstehst was ich meine?
Ich will versuchen mit so wenig wie möglich zusatz das zu lösen,aber es wird wohl darauf hinauslaufen das ich gleich alles mit dazunehme.
-
Was genau hast du denn vor? Der User soll sich also per XML seine eigenen Datenklassen generieren können und dann?
-
PuppetMaster2k schrieb:
Was genau hast du denn vor? Der User soll sich also per XML seine eigenen Datenklassen generieren können und dann?
Korrekt das soll er können. Das "und dann" ist erstmal irrelevant, erstmal will ich es einfach nur probiert haben um sagen zu können "Jo die Aufgabe hab ich auch geschafft". Ziel soll mal sein, das die Datenklassen dann auch noch zur Laufzeit Instanziert werden können und darauf gearbeitet werden kann.