我使用帶引號的製表符分隔的輸入出現錯誤。沒有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字符)的引號之後的第一個字符。
謝謝。
您應該在下面添加您的答案,然後將其標記爲正確的答案。否則,它總是顯示爲一個開放的問題。 – shamp00