2012-01-14 1 views
0

私はテキストファイルが常に同じテキスト形式になっています(テキストファイルのxsdはありません)。テキストファイルマッピング

私はそれからいくつかのクラスにデータをマップしたいと思います。

文字列パーサーや複雑なREGEXを書き始めることを除いて、標準的な方法があります。

私たちはこれに取り組んでいるいくつかの人々であり、他の人が何をしているのか理解する時間がかかりそうなので、実際にはテキストパーサを使いたくありません。

Example

ありがとうございます。

+2

サンプルテキストファイルの内容を投稿するか、リンクする必要があります。 –

+0

@Moozheあなたが正しいです、私は例を追加しました –

答えて

0

を読むのが好き

  • は、そのファイルの読み取りまたはデータベースにインポートし、ORMを使用することそこに多くのライブラリを使用し確かに。

    xml、yml、json、csvなどの標準形式の場合、解析ライブラリは常にあなたの言語で利用できます。

    UPDATE

    あなたがそれを提供サンプルからフォーマットをもっとINIファイルですが、エントリがカスタムされているようです。あなたはあなたは、あなたはおそらく、独自のカスタムパーサーを作成する必要があります、機械可読もっと何かに入ってくるのファイル形式を変更することはできませんと仮定NINI

  • 0

    ソリューション:

    1. 変更タブ区切りまたはカンマ区切りのCSVファイルなどの標準フォーマットにそのファイルの形式。あなたがあなた自身のパーサを必要とする特別なフォーマットを持っている場合はEntity Frameworkのは彼らに
    0

    を拡張することができかもしれません。各フィールドに適切なデータ形式(カスタム列挙型、日付時刻、バージョンなど)を使用して、さまざまな種類のデータをすべて表現して格納するクラスを作成することが最善の方法です(カスタム列挙型、DateTime、バージョンなど)

    コード。たとえば、次の行を入力します。

    272 298 9.663 18.665 -90.000 48 0 13 2 10 5 20009 1 2 1 257 "C4207" 0 0 1000 0 0 
    

    これは単一のクラスまたは構造体です。コンストラクタは上記の文字列をパラメータとして受け入れ、各値を異なるローカルメンバに解析することができます。同じクラスには、必要に応じてすべての値を文字列に変換するSave()メソッドまたはToString()メソッドがあります。

    親クラスには、ファイル内のエントリ数に基づいて上記の構造の配列が含まれています。