0

C# バイナリ デコーダを構築したいと考えています。バイナリファイルのデータ構造を記述したXMLファイルがあります。

次のステップは、その XML に基づいて (コードで) データ構造を動的に作成することです。皆さん、コメント、リンク、コードなどはありますか?

これが一般的な質問であることは承知していますが、どこから始めたいのか、どこから手がかりがありません。

編集:

コードを削除する必要があります...

ブラジル

4

2 に答える 2

1

(XML 定義に基づいてクラスを静的に構築するのではなく) 構造を動的に作成したいので、クエリを実行できる汎用データ構造が必要だと思います。これが正確にどのように見えるかは、記述しているデータ構造の種類によって異なります。レコードとフィールドですか?階層内に複数のレコード タイプがありますか? 階層がない場合は、各フィールドにキーと値のペアの辞書を使用できます。階層がある場合、ナビゲート可能なツリーがほとんどのシナリオをカバーすると考えていたでしょう。これには XML DOM を使用できますが、それは最もクリーンなソリューションではないと思います。一般的なツリー構造を使用することを好みます。組み込みのものはありませんが ( C# のツリー データ構造を参照)、ジェネリックを使用して作成するのはかなり簡単です。

編集

上記は、動的に使用される構造を動的に作成することを前提としています。静的に使用されるコードで構造を動的に作成したい場合(たとえば、 のようなものを記述できるようにしたい場合myDataStrucureThatWasDefinedInXml.MyProperty1)、CodeDom を参照してください。

もう少し考えてみると、バイナリ データをデシリアライズした後に何をしたいかによって異なります。また、Expando オブジェクトと式ツリーも参照してください。

于 2013-02-27T12:11:29.137 に答える
0

XML ドキュメントのコンテンツを読み書きするにXmlDocumentは、C# で提供されるクラスを使用できます。

以下に役立つリンクをいくつか示します。

于 2013-02-27T11:49:07.320 に答える