Laden...

Lieferschein in XML - Wie beginnen, wie sieht die Archtiktur aus?

Erstellt von LastGentleman vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.846 Views
LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 15 Jahren
Lieferschein in XML - Wie beginnen, wie sieht die Archtiktur aus?

verwendetes Datenbanksystem: XML

Hallo zusammen,

ich darf aktuelle einen Import und Export von Lieferscheinen bauen. Ich weis nur nicht ganz wie ich am besten vorgehen sollte.

Meine Situation ist folgende:
ich darf den Aufbau der XML ganz nach meinen wünschen gestalten.
die Dokumente sind alle samt sehr klein von der Datenmenge, wird nicht wirklich groß kommerziell genutzt.

Wie gehe ich dabei am besten vor, ich könnte mir einen Import und Export Funktion mit einem XMLWriter/Reader bauen, muss ich halt alles selber implenentieren.

Könnte auf eine Serializierung zurückgreifen, fehlt nur so ein bisschen die Kontrolle, wäre natürlich am einfachsten..

Vielleicht könnt ihr mir, hier einen kleinen Denkanstoß geben.

Liebe Grüße
Last Gentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

J
3.331 Beiträge seit 2006
vor 15 Jahren

Hallo,

unter einem Import und Export von Lieferscheinen kann ich mir wenig vorstellen. Ein Lieferschein ist für mich ein bedrucktes Blatt Papier, aber kein Xml-Dokument.

Wenn es Dir um xml-Daten geht und Du es Dir einfach machen willst, dann schlage ich DataSet/DataTable vor (ggf. als typisiertes DataSet); da kannst Du mit **ReadXml/WriteXml **(ggf. mit integriertem oder mit getrenntem Schema) alles einfach einlesen und abspeichern.

Gruß Jürgen

3.971 Beiträge seit 2006
vor 15 Jahren

ich darf aktuelle einen Import und Export von Lieferscheinen bauen

Glückwunsch 😉

Für kleine Xml-Dateien kannst du auch XmlSerialisation verwenden. Einen Einstieg bekommst du unter Einführung in die XML-Serialisierung

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo LastGentleman,

grundsätzlich kann man zu XML sagen:

* Ich würde bei Ex- / Import nie auf Schemas verzichten, die helfen Dir bei der Datenvalidierung
* Es gibt verschiedene Möglichkeiten XML zu erzeugen und in ein verarbeitungswürdiges Format zu wandeln:

  • (wie angesprochen) XmlSerialization
  • XmlDocument (also Knotenerstellung bei Fuß)
  • OR/Mapping mit z.B. Linq oder ein anderer Mapper (eventuell hilft hier auch die XSD.EXE die im .NET SDK vorhanden ist?)
  • (wie angesprochen) DataSets
    * Ist eine Versionierung zu beachten, oder gibt es unterschiedliche Ausprägungen der Lieferscheine (z.B. Customer1 bekommt eine andere Art als Customer2?) dann muss Schema und Xml-Dokument konfigurativ hinterlegt werden können

Prinzipiell würde ich so vorgehen, als wenn es eine Datenbank wäre. Also würde ich von der BusinessLogic auf die DataLogic zugreifen, welche die Erzeugung und das Einlesen der XML-Daten vornimmt. Ob Du dann das Xml Dokument durchreichst, oder wirklich mit einem OR/Mapping arbeitest, das musst Du entscheiden (Kosten/Nutzen-Analyse). Ich persönlich würde immer ein Mapping vorziehen, da das eine weitere Abstraktion erzeugt.

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 15 Jahren

Hallo zusammen,

danke.

@juetho:

wäre die einfachste Möglichkeit, hatte auch schon daran gedacht. Nur weis ich nicht welches System, die andere Seite verwendet und damit ich nicht Probleme mit der interopt. bekomme, scheidet diese Variante schon aus.

@kleines_eichhoernchen:

Danke, es kommt sehr selten vor das ich was im dot.net programmieren darf. freu
Der Link hat mir sehr geholfen, ein bisschen das Serialisieren zu verstehen.

@norman_timo:

Hab es mal probeweise mit deinen 2 Vorschlag versucht, mit den XMLDocument, Export hab ich einfach mit einem XMLWriter implementiert und den Import wird über DOM auf meine Objektmodell übergeben.

Für Versioning, ich hab mal präventiv in meinem root Element eine Versionitem eingebaut, wonach ich es unterscheiden kann. Hoffe das reicht für die Zukunft.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

5.941 Beiträge seit 2005
vor 15 Jahren

Hallo LastGentleman

Wenn du LinqToXml verwenden kannst / darfst, kann ich dir das ans Herz legen.
Damit wird das Arbeiten mit Xml zum Spass 😃

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 15 Jahren

Danke für den Tipp,

den Gedanken hab ich auch gehabt, die Clients sind leider teilweise Windows 2000. So werde ich doch bei Framework Version 2.0 bleiben.

Liebe Grüße
LastGentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

103 Beiträge seit 2006
vor 15 Jahren
Edifact

Tipp:
Es gibt offizielle Standardformate für alle möglichen handelsrelevanten Dokumente.
(EDIFACT)
Falls du das Format selbst stricken sollst, würde ich mich an dieser Dokumentstruktur orientieren.

Grüße!

OUT! OUT! You demons of stupidity!
-Dogbert

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo lindan,

also ich kenne ebenfalls Edifact, muss aber sagen, dass das überhaupt nicht trivial ist sich in dieses "Format" einzuarbeiten, und ich würde behaupten, dass wenn das in dem Betrieb nicht weiter verwendet wird, dass es sich auch nicht rentiert sich neu darin einzufinden.

Aber LastGentleman kann sich das auch mal anschauen, und kann dann selbst für sich und seinen Betrieb entscheiden.

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

103 Beiträge seit 2006
vor 15 Jahren

norman_timo:

Da hast du sicherlich recht. Als Orientierung fand ich es aber recht nützlich, einfach um auszuschliessen, dass man in seinem Format ein wichtiges Element vergißt, welches dann im Nachhinein mühevoll nachgezogen werden muß.

Für Otto Normaluser ist ein vollständiger Nachbau in der Tat overkill.

Grüße!

OUT! OUT! You demons of stupidity!
-Dogbert

LastGentleman Themenstarter:in
1.274 Beiträge seit 2005
vor 15 Jahren

Oh danke für den Hinweis, hab mir mal das ein bisschen angehen, diese Format erschlägt einen wirklich.

Vor allem die Fehlersuche ist dort sicher der Wahnsinn, das ist mir XML viel angenehmer, obwohl muss da auch noch warm werden, bei mir ist alles nicht Relational und hierarchisch aufgebaut. 😃

Hoffe wirklich das ich nichts vergessen habe, sonst muss ich eine 1.1 von meinem Lieferschein XML - Dokument erstellen.

Liebe Grüße
LastGentleman

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein