Frage

Wir suchen nach einer Transformation Bibliothek oder Engine, die jede Eingabe (EDIfact Dateien lesen kann, CSV, XML, solche Sachen. So Dateien (oder einen Web Service Ergebnisse), die Daten enthalten, die zu einer bekannten Business-Objekt-Struktur transformiert werden müssen diese Daten sollen mit benutzerdefinierten Regeln.) diese zu einem bestehenden Business-Objekt umgewandelt werden. XSLT ist sowohl komplex (zu lernen) und einfach (nicht genügend Funktionen)

Kann jemand eine C # -Bibliothek oder Motor empfehlen? Ich habe Altova MapForce gesehen, möchte aber etwas, was ich Dutzende von Menschen aussenden kann, die ihre eigenen Transformationen bauen / entwerfen, ohne Dutzende von Altova Lizenzen bezahlen zu müssen.

War es hilfreich?

Lösung

Wenn Sie denken, dass XSLT zu schwierig für Sie ist, ich glaube, Sie LINQ to XML für das Parsen von XML-Dateien ausprobieren können. Es wird in .NET Framework integriert, und Sie können C # (oder, wenn Sie VB.NET verwenden 9.0, besser, weil die XML-Literale) stattdessen eine andere Sprache zu lernen. Sie können ohne viel Aufwand mit der bestehenden Anwendung integrieren und withouth Paradigma Diskrepanz zwischen der Sprache und der Dateiverwaltung, die mit XSLT auftritt.

Microsoft LINQ to XML

Sicher, es ist nicht ein Framework oder Bibliotheksdateien für die Analyse, aber weder XSLT ist, so ...

Andere Tipps

XSLT wird nicht für EDI und CSV zu arbeiten. Wenn Sie eine völlig generische Transformation Engine wollen, müssen Sie möglicherweise etwas Geld berappen. Ich habe Symphonia mit EDI für den Umgang verwendet, und es funktionierte, aber es ist nicht frei.

Die Sache ist das Problem, das Sie Sounds „enterprisey“ beschreiben (Ich bin sicher, niemand nutzt EDI zum Spaß), so gibt es keine Open-Source / freie Werkzeuge für diese Sachen zu tun.

Ich würde nicht so schnell zu entlassen XSLT als zu komplex oder nicht die Eigenschaften enthalten, die Sie benötigen.

Es gibt viele Bücher / Websites gibt, die alles, was Sie brauchen beschreiben über XSLT kennen. Ja, es ist ein bisschen eine Lernkurve, aber es braucht nicht viel in sie zu erhalten, und es gibt immer eine große Gemeinschaft wie Stackoverflow zu drehen, wenn Sie Hilfe benötigen; -)

Wie aus Mangel an Funktionen, die Sie immer Xslt erweitern können und .NET-Assemblies aus der Xslt rufen die Verwendung von XsltArgumentList.AddExtensionObject () -Methode, die Sie würde die Leistung, die Sie benötigen.

MSDN ein großartiges Beispiel hat die Verwendung dieser hier

Es ist wahr, dass die MapForce und Biztalk-Anwendungen machen die Schaffung Xslt sehr einfach, aber sie auch ein wenig kosten. Auch abhängig von Ihrer Nutzerbasis (nicht Entwickler vorausgesetzt), ich glaube, Sie werden feststellen, dass diese Anwendungen gibt es eigene Lernkurven und sind oft auch reich an Funktionen für das, was Sie brauchen.

Ich werde Sie empfehlen, Ihr eigenes Mapping-Tool speziell auf Ihre Bedürfnisse der Nutzer zu berücksichtigen Aufbau und zu verteilen.

Auch wenn Sie eine Bibliothek müssen mit Dateikonvertierungen zu unterstützen, würde ich empfehlen, FileHelpers bei Source

Datadirect Technologies hat ein Produkt, das tut genau dies. Bei http://www.xmlconverters.com/ gibt es eine Bibliothek namens XmlConverters die EDI in XML konvertiert und und umgekehrt. Darüber hinaus gibt es Konverter für CSV, JSON und andere Formate. Die Bibliotheken sind als 100% .NET Managed Code zur Verfügung, und eine parallele Schnittstelle in 100% Java. Die .net Seite unterstützt XmlReader und XmlWriter, während die Java-Seite SAX, StAX und DOM unterstützt. Beide unterstützen auch Strom und Leser / Schreiber I / O. Datadirect hat auch eine XQuery-Prozessor für die Zusammenführung von relationalen Daten mit EDI und XML optimiert, aber es ist nur Java.

Microsoft BizTalk Server eine sehr gute Arbeit geleistet dies tut.

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