12

大規模なデータベースをxml形式でエクスポートしています。このXMLデータは、可能な限り最小の形式に圧縮する必要があります。Efficient XML(EXI)について多くのことを聞いたことがあり、コード内から呼び出すことができるように.NET実装があるかどうか疑問に思っていました...

オンラインリソースが少しまばらに見えるので、誰かがこれの例を持っていますか...

4

5 に答える 5

4

Microsoftは、MC-NBFX(catchy eh)と呼ばれる独自のバイナリXMLフォーマット/エンコーディングを作成したことが判明しました。これは、.NET3.0以降の.NETFrameworkおよびWCFの一部です。詳細については、以下を参照してください。

もう1つのオプションは、IKVMを介してJava実装を実行し、.Netアセンブリを生成することです。私が見つけたオープンソースのJava実装は次のとおりです。

于 2013-12-16T12:58:50.707 に答える
3

そのような実装は存在します。Efficient XML Interchange形式(AgileDelta)の前身を作成し​​た会社は、.Netバージョンを含むEfficientXMLライブラリを提供しています。彼らは価格を公表していないようですが。

公式のEXIサイトには、他の.Net実装はリストされていません。

于 2012-02-24T17:28:11.963 に答える
3

Nagasenaには、EXI仕様の.Net(C#で記述)とJavaの両方の実装があります。

于 2014-03-20T20:08:14.487 に答える
0

可能な限り最小のフォーマットが必要な理由はありますか?XMLは、実際には圧縮最適化用に設計されていません。@Svickの答えは、必要なものがすぐにアクセスできるアーカイブである場合、今のところ事実です。

ここであなたが求めているものの多くを見つけることができます: XMLに最適な圧縮アルゴリズム?

EXIは、定期的にアクセスされるアーカイブデータが必要な場合に最適です。それ以外の場合、目標が長期にわたるアーカイブである場合は、zipユーティリティを使用してください。接吻。

于 2013-12-20T13:29:45.230 に答える
0

バイナリXMLは、XML標準に準拠する必要がある場合に使用する方法です(そして、いくつかの実装があります)。

JSONは、XMLでなくても、数字で失われます。Ex 32ビットのunsignedintの最大値は、JSONでは10バイトで表されます。ほぼすべてのバイナリ形式では、これは4バイトになります。これは、日付/時刻などに適用されます。

標準の要素/属性タイプを持つ適切なバイナリXMLは、サイズと処理効率が大幅に向上するはずです。テーブルからエクスポートするときに、圧縮ファイルの辞書のようにタグを再利用できる場合も、優れた機能になります。

于 2013-12-23T12:40:37.223 に答える