FileHelpers支持分层文件吗?
我使用具有分层记录的平面文件。 我没有在文档中找到此功能。
谢谢! 艾伦
答案 0 :(得分:3)
是的,如果需要两个级别,可以使用MasterDatail方式;如果需要解析三种或更多种记录格式,可以使用MultirecordEngine。
大师明细:
http://www.filehelpers.net/example/MasterDetail/SimpleMasterDetail/
对于此客户作为主记录和订单详细信息的文件:
10248|VINET|5|04071996|01081996|16071996|3|32.38
10249|TOMSP|6|05071996|16081996|10071996|1|11.61
ALFKI;Alfreds Futterkiste;Maria Anders;Sales Representative;Obere Str. 57;Berlin;Germany
ANATR;Ana Trujillo Emparedados y helados;Ana Trujillo;Owner;Avda. de la Constitución 2222;México D.F.;Mexico
10250|HANAR|4|08071996|05081996|12071996|2|65.83
10111314012345
11101314123456
你必须使用类似的东西:
RecordAction ExampleSelector(string record)
{
if (Char.IsLetter(record[0]))
return RecordAction.Master;
else
return RecordAction.Detail;
}
var engine = new MasterDetailEngine<Customers, Orders>(new MasterDetailSelector(ExampleSelector));
// to Read use:
MasterDetails[] res = engine.ReadFile("TestIn.txt");
<强>多记录强>
http://www.filehelpers.net/example/Advanced/MultiRecordSample/
此致