2014-03-28 39 views
0

我使用帶引號的製表符分隔的輸入出現錯誤。沒有Quotes的相同輸入完美地工作。這是一個帶有'!'的示例輸入行。表示一個TAB字符:!Filehelpers Quoted Tab-Separated-Values error

CN 「000012」, 「目錄頁000012 1」

以下是錯誤消息:

行:1列:12。字段itemID被引用,但引號char:「不只是在分隔符之前(您可以使用[FieldTrim]來避免此錯誤)

我正在使用ClassBuilder,她e是我生成的類C#的輸出:

[DelimitedRecord(" ")] 
public sealed class CN 
{ 

[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.String opCode; 

[FieldOptional()] 
[FieldNullValue(typeof(System.Int32), "0")] 
[FieldConverter(typeof(blah.FileHelperClassBuilder+ItemIDConverter))] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.Int32 itemID; 

[FieldOptional()] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.String itemContents; 

[FieldOptional()] 
[FieldNullValue(typeof(System.Int32), "0")] 
[FieldConverter(typeof(blah.FileHelperClassBuilder+AccountConverter))] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.Int32? accountID; 

[FieldOptional()] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.String alternateCode; 

[FieldOptional()] 
[FieldNotInFile()] 
[FieldNullValue(typeof(System.Int32), "0")] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.Int32 sequence; 

[FieldOptional()] 
[FieldNotInFile()] 
[FieldNullValue(typeof(System.Byte), "0")] 
[FieldTrim(TrimMode.Both, " ")] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)] 
public System.Byte updateItemTime; 
} 

的DelimitedRecord屬性確實有雙引號之間,一個TAB字符。

我正在使用FileHelpers版本2.9.9.0。

我試過讓所有字段都需要引號,但第一個,但沒有幫助。它爲幾個類似的類做了同樣的事情。基本上,錯誤指向第一個引用字段(它是一個TAB字符)的引號之後的第一個字符。

謝謝。

+0

您應該在下面添加您的答案,然後將其標記爲正確的答案。否則,它總是顯示爲一個開放的問題。 – shamp00

回答

1

我解決了這個問題。我已經開始創建我自己的臨時程序集,這些程序元素與我之前提供給Filehelpers類構建器(生成此處顯示的C#代碼)的元數據相同。但是,我沒有正確設置FieldTrimAttribute TrimChars,並獲取了由Filehelpers提供的默認TrimChars集。