C#, XSD und Generierung von Klassennamen
Geizhals » Forum » Programmierung » C#, XSD und Generierung von Klassennamen (3 Beiträge, 279 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
C#, XSD und Generierung von Klassennamen
17.11.2011, 22:38:06
Hallo

Stehe gerade vor einem kleinen Problemchen und komme nicht weiter.
Ich habe ein XML File das ca. so aussieht:


<ROWS>
  <ROW Param1="xx" Param2="yy" Param3="zz" />
  <ROW Param1="ab" Param2="cd" Param3="de" />
  <ROW Param1="xy" Param2="xf" Param3="ee" />
  <ROW Param1="12" Param2="oo" Param3="kk" />
</ROWS>


Das allein wäre jetzt nicht das Problem. Ich habe mir nun ein Schema für dieses XML gebaut (damit ichs auch gleich validieren kann).

Nun würde ich natürlich gern die benötigten Klassen und automatisch auch Serialisierung / Deserialisierung erzeugen lassen. Probiert habe ich Microsofts XSD.EXE und das XSD2Code Plugin von Codeplex.
Beide erzeugen absolut grausliche Klassennamen, z.B.
ROWSROW / ROW
ich hätte gern aber sowas:
ComponentList / Component

Manuell könnte ichs natürlich ändern - will ich aber nicht, bin ja ein fauler Hund, außerdem gehen die Änderungen verloren wenn ichs neu generieren lasse.

Aus einer anderen Quelle (nicht dem XML) kommen noch zusätzliche Informationen die ebenfalls im Objektmodell gespeichert werden sollen, hierfür hätte ich eine partial class Component vorgesehen, sodass ich zu jeder "ROW" noch zusätzliche Daten speichern kann. Wäre eigentlich perfekt, wenn da das Problem mit den blöden Namen nicht wäre.

Any ideas?



Wenn der Sturm losbricht,
verstummen die Einen vor Schrecken,
und die Anderen breiten, einem Adler gleich, die Flügel aus
und schwingen sich empor.

Herzlichen Dank an Raydoo für die Fotos

17.11.2011, 22:38 Uhr - Editiert von Somnatic, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung