can't do it. Look at how Crystal operates, it references a structure of data. If the data that should be displayed is in the dataset, all is good, but if a field is missing, it crashes.
You could get around this by having all of your xml files have the same name, like col1, col2, etc.
Or you could write an app, that could rename all of the tags, but you would need to know the schema of a xml. In some cases, if a field is null, the xml tag is missing (this is how VS2005 write data to xml), so without the table schema you can't adjust tags(correctly).
Just as you can't write a report to 'randomly' access fields in a table, you can't randomly access fields in an XML file, because it is a table.
HTH