I would not recommend XML for data storage. XML is great for
documents and message passing, but there are too many problems with it to make it worth the
effort for data storage. It is slower than simple tab-delimited
text due to the overhead of processing tags. It is larger than
tab-delimited text due to the tags. LabVIEW support is somewhat
restricted unless you roll your own encoder (not difficult, I have done
it).
That said, you still have two very good options which will interface to all the programs you list.
- Tab-delimited text. This format is highly supported and can
be read by almost anything. It has speed limitations and starts
to run into real performance issues at about 50,000 points per channel
(Excel limit at 65,535 points/channel) or 1,000,000 points total
(parsing time issues). It is also has a relatively flat structure.
- An SQL database. Everyone talks to SQL. This is probably your best binary option and can be read by almost anything.
A third option is HDF5 (NI-HWS), but DIAdem support isn't there yet and
NI only supports waveform data types. There is an unsupported
toolkit you can download
here, but the learning curve is pretty
steep. That said, I love HDF5 and use it all the time in
LabVIEW. It is my method of choice for complex data storage.