[erlang-questions] Record to Xml

Ulf Wiger (TN/EAB) ulf.wiger@REDACTED
Wed Jan 7 14:25:15 CET 2009

Torben Hoffmann skrev:
>  You should have a look at the preprocessor function record_info/2 which 
> could give you a list of the field names like this:
> FieldNames = record_info(fields,ewayRequest),
> The problem is that the record name has to be known at compile time so 
> you need a function along these lines:
> record_fields(#evayRequest{}) ->
>        record_info(fields,ewayRequest);
> record_fields(#other_record{}) ->
>        record_info(fields, other_record).
> The downside is that you need to add a clause every time you define a 
> new record.
> The record_fields could be auto-generated using a script by keeping all 
> record definitions in a .hrl file and generate a module with the 
> record_fields function. Any scripting language will suffice here - I 
> have used both sed and Erlang for the job in the past.

You can also use the exprecs library which does exactly this,
and then some, via a parse transform.


Ulf W

More information about the erlang-questions mailing list