Was ist die beste Art und Weise und zu schreiben von XML-Dokumente in C # zu lesen?

StackOverflow https://stackoverflow.com/questions/2884257

  •  04-10-2019
  •  | 
  •  

Frage

Ich weiß, das ist eine vage offene Frage. Ich hoffe, dass einige allgemeine Richtung zu erhalten.

ich brauche cXML PunchOut zu einer ASP.NET C # Site / Anwendung hinzuzufügen. Dies ersetzt etwas, dass ich vor Jahren in Coldfusion geschrieben.

Ich bin ein ziemlich erfahrener C # -Entwickler, aber ich habe nicht viel mit XML getan. Es scheint in .NET für die Verarbeitung von XML viele verschiedene Optionen.

Hier ist die offene Frage: Unter der Annahme, dass ich ein XML-Dokument in irgendeiner Form habe, zum Beispiel eine Datei oder einen String, was ist der beste Weg, um es in meinen Code zu lesen? Ich mag die Daten bekommen und dann Abfrage von Datenbanken usw. Die cXML Dokumentgröße und unsere Verkehrsaufkommen sind leicht klein genug, so dass die Belastung des ein cXML-Dokument in dem Speicher kein Problem ist.

Should I:

1) manuell erstellen Klassen basierend auf dem dtd und verwenden Sie die XML-Serializer?

2) Verwenden Sie ein Tool Klassen zu erzeugen. Es gibt Beispiel cXML Dateien zum Download von Ariba.com. Ich habe versucht, xsd.exe eine XSD zu erzeugen und dann xsd.exe / c-Klassen zu erzeugen. Wenn ich versuche, ich Fehler deserialisieren, weil es scheint, „Verwirrung“ zu sein, um, ob einige Elemente einzelne Werte oder Arrays sein sollten.

habe ich versucht, das CodeXS Online-Tool, aber das gibt Fehler in seiner Protokoll- und Fehler, wenn ich versuche, ein Beispieldokument deserialisieren.

2) Erstellen Sie einen Datensatz und ReadXml ()?

3) Erstellen eines typisierten Datasets und ReadXml ()?

4) Verwenden Sie Linq to XML. Ich habe oft Linq to Objects verwenden, damit ich mit Linq im Allgemeinen vertraut bin, aber ich bin zu kämpfen, um zu sehen, was es gibt mir in dieser Situation.

5) Einige andere Mittel.

Ich glaube, ich brauche, um mein Verständnis von XML im Allgemeinen zu verbessern, aber auch so ... bin ich dabei einige offensichtliche Art und Weise, dies zu tun? In der alten Coldfusion-Website fand ich eine freie Komponente ( „tag“), die im Grunde jedes Schema ignoriert und die XML-Daten in eine „Struktur“ lesen, die im Wesentlichen eine Reihe von verschachtelten Hash-Tabellen, die einfach waren, dann in Code zu lesen. Das war wahrscheinlich ziemlich schlampig, aber es hat funktioniert.

Ich brauche auch XML-Dateien von meinen C # Objekten zu erzeugen. Vielleicht wird Linq to XML sein gut dafür. Ich könnte mit einem Standard „Vorlage“ Dokument starten und manipulieren, um sie vor dem Speichern.

Danke für alle Hinweise ...

War es hilfreich?

Lösung

Wenn Sie beliebige XML in einem exakten Format generieren müssen, sollten Sie es manuell erstellen LINQ-to-XML.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top