3

任意の入力 (EDIfact ファイル、CSV、XML など) を読み取ることができる変換ライブラリまたはエンジンを探しています。つまり、既知のビジネス オブジェクト構造に変換する必要があるデータを含むファイル (または Web サービスの結果) です。)データは、カスタム ルールを使用して既存のビジネス オブジェクトに変換する必要があります。XSLT は複雑 (学習するため) であると同時に単純 (機能が不十分) である

C# ライブラリまたはエンジンを推奨できる人はいますか? 私は Altova MapForce を見てきましたが、何十もの Altova ライセンスを支払うことなく、独自の変換を構築/設計する何十人もの人々に送信できるものが欲しいです。

4

5 に答える 5

3

XSLT が難しすぎると思われる場合は、XML ファイルの解析に LINQ to XML を試すことができると思います。これは .NET フレームワークに統合されており、別の言語を学習する代わりに C# を使用できます (VB.NET 9.0 を使用する場合は、XML リテラルのおかげでより適切です)。XSLT で発生する言語とファイル管理の間のパラダイムの不一致なしで、多くの労力を費やすことなく既存のアプリケーションと統合できます。

Microsoft LINQ to XML

確かに、これはファイルを解析するためのフレームワークやライブラリではありませんが、XSLT もそうではありません。

于 2008-09-15T12:54:48.373 に答える
2

XSLT は EDI と CSV では機能しません。完全に汎用的な変換エンジンが必要な場合は、いくらかの現金が必要になる場合があります。EDI の処理にSymphoniaを使用しましたが、機能しましたが、無料ではありません。

問題は、あなたが説明している問題が「エンタープライズ」に聞こえることです (楽しみのために EDI を使用する人はいないと確信しています)。この問題を処理するためのオープン ソース/フリー ツールはありません。

于 2008-09-15T15:15:45.710 に答える
1

DataDirect Technologies には、まさにこれを行う製品があります。http://www.xmlconverters.com/には、EDI を XML に、またはその逆に変換する XmlConverters というライブラリがあります。CSV、JSON、およびその他の形式のコンバーターもあります。ライブラリは、100% .net マネージ コード、および 100% Java のパラレル ポートとして利用できます。.net 側は XmlReader と XmlWriter をサポートし、Java 側は SAX、StAX、および DOM をサポートします。どちらもストリームとリーダー/ライター I/O もサポートしています。DataDirect には、リレーショナル データを EDI および XML とマージするために最適化された XQuery エンジンもありますが、これは Java のみです。

于 2008-12-29T03:18:06.140 に答える
1

XSLT が複雑すぎる、または必要な機能が含まれていないなどの理由ですぐに片付けることはできません。

XSLT について知っておくべきことをすべて説明している本や Web サイトはたくさんあります。はい、多少の学習曲線はありますが、習得するのにそれほど時間はかかりません。助けが必要な場合は、stackoverflow のような優れたコミュニティが常にあります ;-)

機能の欠如については、XsltArgumentList.AddExtensionObject() メソッドを使用して、いつでも xslt を拡張し、xslt から .NET アセンブリを呼び出すことができます。これにより、必要な機能が提供されます。

MSDN には、これを使用した優れた例があります。

MapForce および Biztalk アプリケーションによって xslt の作成が非常に簡単になるのは事実ですが、少しコストがかかります。また、ユーザーベース (非開発者を想定) によっては、これらのアプリケーションには独自の学習曲線があり、多くの場合、必要なものに対して機能が豊富すぎることがわかると思います。

ユーザーのニーズに合わせた独自のカスタム マッピング ツールを作成して配布することを検討することをお勧めします。

また、ファイル変換を支援するライブラリが必要な場合は、SourceForge のFileHelpersをお勧めします

于 2008-09-15T11:56:50.867 に答える
0

Microsoft BizTalk Serverは、これをうまく処理します。

于 2008-09-15T10:35:00.253 に答える