我正在使用FileHelpers来解析csv文件并将其加载到数据表中。 我正在使用xml模板并将其传递给ClassBuilder.LoadFromXml
我希望从特定字段中修剪某些字符,我认为我们可以在Xml文件中提到像TrimChars和TrimMode这样做。我试图这样做,但它没有用。
例如。
<DelimitedClass Delimiter=";">
<ClassName>YourRecordClass</ClassName>
<SealedClass />
<IgnoreEmptyLines />
<IgnoreFirstLines>1</IgnoreFirstLines>
<Fields>
<Field Name="MyField" Type="String" TrimChars=";" TrimMode="Right"/>
</Fields>
</DelimitedClass>
提前感谢您的帮助。
===== 修改
我没有收到任何错误,只是没有修改我上一个字段的分号。以下是示例,现在在此示例中,您将看到 99999999; 结尾..我想修剪该分号。
HEADER_1 ;HEADER_2;HEADER_3;HEADER_4 ;HEADER_5 ;HEADER_6 ;HEADER_7;HEADER_8 ;HEADER_9;HEADER_10 ;HEADER_11;HEADER_12 ;HEADER_13 ;HEADER_14;HEADER_15 ;HEADER_16 ;HEADER_17 ;HEADER_18;HEADER_19 ;HEADER_20 ;HEADER_21 ;HEADER_22 ;MyField ;
000999999;ZZZZZZ_ZZ ;ZZZZ ;99zzz9799zzz ;999Z ;ZZZZZZZ ;Z ; 9;Z ;ZZZZZZZ; NOV12;99999999; 99.990000; ; 0.000000; -0.990000; 0.000000;ZZZ ;ZZZZZZZZ;07/03/2012 12:00:00 ;07/03/2012 20:35:13 ;ZZZ ;99999999 ;
答案 0 :(得分:1)
首先,您使用xml节点属性指定字段选项。相反,选项应该像这样定义:
<Field Name=""MyField"" Type=""String"">
<TrimMode>Both</TrimMode>
</Field>
其次,当TrimChars
属性与字段分隔符相同时,它将不起作用。相反,您应该添加一个额外的虚拟可选最终字段。像这样:
<Fields>
<Field Name=""MyField"" Type=""String"">
<TrimMode>Both</TrimMode>
</Field>
<Field Name=""IgnoreTrailingDelimiter"" Type=""String"">
<FieldOptional />
</Field>
</Fields>