You might like to look at the attached project.
An example CSV-generated dialog and user output shown in a test program (see images below) were generated from the appended CSV file.
I used CSV because I find it more compact than xml, but obviously the data format could be changed.
The example code attached is a proof-of-concept rather than a finished article, but should get you started.
dialog,text=Options,color=clskyblue
label,text=Example Options dialog,style=bolditalic,size=12,align=alCenter
combo,text=Language:,items=French|German|Dutch|Finnish,itemindex=2
edit,text=file name,labelText=Saved file's name:,texthint=file name
checkbox,text=Show grid hints,checked=Y
edit,text=directory,labelText=Backup directory:,texthint=directory
label,text= Backup,style=bold,size=11,align=alLeft
radio,text=No backup,checked=N
radio,text=Backup in subdirectory,checked=Y
radio,text=Backup using same name + .bak,checked=N
button,text=Cancel,modalResult=mrCancel
button,text=OK,modalResult=mrOK