Laden...

XML als Schemavorlage für Klassen

Erstellt von Schildkroete vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.261 Views
S
Schildkroete Themenstarter:in
80 Beiträge seit 2012
vor 9 Jahren
XML als Schemavorlage für Klassen

verwendetes Datenbanksystem: XML

Hallo zusammen,

neulich kam mir der Gedanke, ob es sowas überhaupt gibt, dass man aus einem XML-Dokument eine Klasse erstellt bzw. schreiben lässt.
Ich spreche hier nicht von XML-Serialisierung und umgekehrt, sondern, dass man das XML Dokument als eine Art Bauvorlage nutzt um z.B. Models zu erstellen mit den gewünschten Properties.

z.B. bei ADO.NET Entity Framework kann ich mir Tabellen importieren per Drag&Drop oder durch das Menü im VS.

Weil es ist immer umständlich, das XML Dokument zu analysieren und daraus eine Klasse manuell generieren um es später für Serialisierungen zu nutzen.

Danke im Voraus.

----ehm............

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo Schildkroete,

du kannst auch T4-Templates nutzen, um deine Klassen zu erstellen. Falls du das meinst.

Gruss

Coffeebean

S
Schildkroete Themenstarter:in
80 Beiträge seit 2012
vor 9 Jahren

Hallo,

danke für die schnelle Antwort. Jedoch meinte ich mehr, wo ich gerade drüber gestolpert bin,
sowas: http://json2csharp.com/

Dort einfach den folgenden JSON Code eingeben:


{
  "Herausgeber": "Xema",
  "Nummer": "1234-5678-9012-3456",
  "Deckung": 2e+6,
  "Waehrung": "EURO",
  "Inhaber": {
    "Name": "Mustermann",
    "Vorname": "Max",
    "maennlich": true,
    "Hobbys": [ "Reiten", "Golfen", "Lesen" ],
    "Alter": 42,
    "Kinder": [],
    "Partner": null
  }
}

----ehm............

S
Schildkroete Themenstarter:in
80 Beiträge seit 2012
vor 9 Jahren

Gott sei es Gedankt, dass es freie und soziale Programmierer gibt.
Ich habe es gefunden:
http://xmltocsharp.azurewebsites.net/

----ehm............

849 Beiträge seit 2006
vor 9 Jahren

Hallo,

gibts auch von Haus aus. Xsd.Exe

oder als VS Plugin

Xsd2Code
(obwohl man hier glaube ich erst das Xsd erzeugen muss.. mit xsd.exe)

771 Beiträge seit 2009
vor 9 Jahren

@unconnected:

Ich spreche hier nicht von XML-Serialisierung und umgekehrt, sondern, dass man das XML Dokument als eine Art Bauvorlage nutzt um z.B. Models zu erstellen mit den gewünschten Properties.

849 Beiträge seit 2006
vor 9 Jahren

@cat

Also nach dem Beispiel von Schildkröte oben, macht xsd genau das was er will. Aus einem Xml Klassen erstellen.

771 Beiträge seit 2009
vor 9 Jahren

@unconnected: Entsprechend des JSON-Beispiels habe ich es aber so verstanden, dass einfach nur eine Klasse mit automatischen Gettern und Settern erstellt werden soll und nicht z.B. so etwas


        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ProductName")]
        public List<System.String> ProductName {
            get {
                return this.productNameField;
            }
            set {
                if ((this.productNameField != null)) {
                    if ((productNameField.Equals(value) != true)) {
                        this.productNameField = value;
                        OnPropertyChanged("ProductName");
                    }
                }
                else {
                    this.productNameField = value;
                    OnPropertyChanged("ProductName");
                }
            }
        }

Und die Beschränkung auf reine Modellklassen (POCOs) kann meines Erachtens weder XSD noch Xsd2Code.

S
Schildkroete Themenstarter:in
80 Beiträge seit 2012
vor 9 Jahren

Für die jetzige Aufgabe bzw. Problem reicht es vollkommen aus.

----ehm............