Announcement

Collapse
No announcement yet.

Klasse zur Laufzeit anhand von XML/XSD erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Klasse zur Laufzeit anhand von XML/XSD erstellen

    Hallo Community,
    ich habe folgendes Problem:

    Ich habe eine XML Datei die eine Datenstruktur beschreibt. Die Anwendung soll anhand dieser Beschreibung dynamisch eine Klasse erstellen.
    Hintergrund: Die XML Datei beschreibt das Format für eine andere Datei (soll also geändert werden könne, ohne den Programmcode anpassen zu müssen).

    Im Forum habe ich bereits einen Post gefunden der meiner Problemstellung gleicht:

    http://www.mycsharp.de/wbb2/thread.php?threadid=59243

    Da ich leider noch ziemlich neu aus diesem Gebiet bin, kann mir das leider nicht so richtig vorstellen wie ich das Problem mittels DataSet lösen kann.
    Oder gibt des eine ganz andere Lösung für das Probme?

    Vielen Dank!

  • #2
    Ich kann nur die Lösungvorschläge im Thread wiederholen. Sieh dir die XSD.exe aus dem Framework an und ignorier das mit dem Dataset erstmal.
    Damit kannst du aus XML Dateien XSD's erzeugen aber auch aus der XSD Dateien dann entsprechende C# Klassen.

    Ich habe den Satz zum Hintergrund nicht ganz verstanden. Heißt das du willst die Formatbeschreibung (das XSD) ändern? Das wird nicht gehen da die erzeugten C# Klassen natürlich immer ein bestimmtest Format darstellen und du bei geändertem Format auch die C# Klassen neu generieren mußt.

    Comment


    • #3
      Das möchte ich eigentlich.
      Ich hatte mich auch schon mal bezüglich des (De)Serialisieren informiert. Wäre ja eigentlich die Lösung, wenn man da nicht den Typ (die Klasse) mit angeben müsste, da ich ja genau diese erst zur Laufzeit erfahren möchte.

      Aber vielleicht setz ich ja aufs komplett falsche Pferd…

      Ich versuche mal mein Vorhaben mit nen Beispiel zu beschreiben:

      Zu erst mal ein paar Auszüge aus den Dateien:
      Data_File:
      A31561 55 3 2 $A$066661-2 $ $G

      Diese enthält einige 1000 solcher Zeilen. Jede Zeile entspricht einen Datensatz der nach einer Bestimmten Regel Auseinander genommen werden muss (welche im XML Beschrieben ist). Auch die Leerzeichen haben ihre Bedeutung, es hat also nichts mit einer CSV Datei zu tun.


      XML_File:
      <Item>
      <FeldNummer>1</FeldNummer>
      <Feldname>Zeichen</Feldname>
      <Von>1</Von>
      <Bis>1</Bis>
      <Laenge>1</Laenge>
      </Item>

      <Item>
      <FeldNummer>2</FeldNummer>
      <Feldname>Schlüssel</Feldname>
      <Von>2</Von>
      <Bis>3</Bis>
      <Laenge>4</Laenge>
      </Item>



      Also die Zeile aus der Data_File folgend splittern:
      A
      315
      usw…

      Wie könnte man das optimal gestalten?

      Comment

      Working...
      X