FileHelpers支持分层文件?

时间:2012-07-26 19:34:28

标签: .net c#-4.0 hierarchical-data sourceforge filehelpers

对不起,如果我的英语不好......我是巴西人。

FileHelpers支持分层文件吗?

我使用具有分层记录的平面文件。 我没有在文档中找到此功能。

谢谢! 艾伦

1 个答案:

答案 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/

此致