2012-01-14 101 views
0

我有一個文本文件總是以相同的文本格式(我沒有文本文件的xsd)。文本文件映射

我想將它的數據映射到某個類。

除了開始編寫字符串解析器或一些複雜的REGEX之外,是否有一些標準的方法來這樣做。

我真的不想使用文本解析器,因爲我們有很多人在這方面工作,這可能會讓我們每個人都有時間來了解其他人在做什麼。

Example

謝謝。

+2

您應該發佈示例文本文件的內容或鏈接到它。 – 2012-01-14 08:15:07

+0

@Moozhe你說得對,我加了一個例子 – 2012-01-14 08:19:52

回答

0

如果你有你需要自己的解析器的特殊格式當然。

如果格式是這樣XML,陽明海運,JSON,CSV等標準之一,解析庫會在你的語言始終可用。

UPDATE

從您提供的樣本似乎格式更像INI文件但條目定製。可能是你可以延長NINI

0

解決方案:

  1. 更改該文件的格式等製表符分隔或逗號分隔csv文件的標準格式。
  2. 然後用許多庫都來讀取文件或數據庫中導入和使用ORM像實體框架給他們看
0

假設你不能進入的文件格式更改爲更具機器可讀的,那麼你可能需要編寫自己的自定義解析器。最好的方法是創建類來表示和存儲所有不同類型的數據,使用適合每個字段的數據格式(自定義枚舉,日期時間,版本等)

嘗試劃分碼。例如,在這裏採用這些行:

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()方法,如果需要的話,可以將所有的值轉換回字符串。

然後,根據文件中有多少條目,父類將僅包含上述結構的數組。