c# - Mapping XML to another XML -
our system acts middleware between several different systems. requires working several differently formatted , laid out xml files contain (roughly) same information. handled via middleware knowing of formats. becoming unmanageable , want replace path allows our system work standard format, , convert our client files , using transformer layer. however, have lot of clients coming on board (hence rework), , reduce amount of developer work minimum per client.
on investigation, can see 3 primary ways of doing this:
a) use xslt transformer. handle each client , xml file separately. pros: clear understand, little overhead during runtime, simple text conversion, can dropped , uploaded, can largely reused if client formats happen similar. cons: requires lot of work xml files converted per client. can technically done non-developer.
b) utilise automapper: create initial classes our format, run client files through xml -> poco generator, , create profiles each of them. pros: simple understand, maps potentially reused different clients, strong typing clarity , maintenance ease. cons: can done developer, requires actual redeployment (i can't see implementing plugin system that, can see being microservice).
c) create "visual" custom mapper , mapping engine. use reflection loop through properties , customize mappings through web-based interface. expose interface customers , tell them information want mapped after have uploaded xml , system has autogenerated pocos. pros: flexible, self-maintaining. cons: requires .... lot of work , time.
d) ??? maybe better?
so i'm trying pick between 1 of three, not quite sure 1 go for. i'm starting incline towards xslt because it'll technically allow transformation. of course need implement verification system, that's... implementation detail.
Comments
Post a Comment