Read in file that has raw binary image data and an XML footer

7 views (last 30 days)
Justin Solomon
Justin Solomon on 14 Jun 2015
Commented: Ken Atwell on 14 Jun 2015
Hello, I need to read in data from a file that contains a large amount of raw binary image data (singles) followed by an XML footer. I can easily read in the image data (if I know the size of the array), but I'm not sure how to then proceed and read in the rest of the file in XML format. The xmlread() function needs a standalone XML file. My thought was to copy (bit by bit) the footer of the file into a temp file that would then be read by xmlread(). But I'm not quite sure how to do that copy just a part of a file into a new file. Any help would be much appreciated.

Accepted Answer

Ken Atwell
Ken Atwell on 14 Jun 2015
You've got the right idea.
Since you know the size of the image, open the mixed image/XML file with fopen, then use fseek to position the reader just after the image. Then use fread to read the tail of the file. Write this text to a temporary file.
Ken Atwell
Ken Atwell on 14 Jun 2015
I'm not aware of any way to create a "file" that is a subset of another without actually copying the bits. xlmread takes a filename only and not a string or file handle and alternative sources of data, which would also eliminate the need for a temporary file.

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!