Can I return the xml string from writestruct?

I am successfully using the "writestruct()" function to export my structure to XML but due to the application this xml is being read into afterwards I need to do a bit of tweaking to the output file contents.
Is there a way to return the generated XML string rather than have Matlab write it to file? I can fopen/fprintf my modifed xml string easily enough afterwards.

2 Comments

writestruct does not provide an option to return the generated XML as a string.
yes, I know that the writestruct function does not naturally return the xml string but was hoping to find out if there was a matlab internal function somewhere within matlab.io.xml.internal that does return the xml string.

Sign in to comment.

 Accepted Answer

Matt J
Matt J about 1 hour ago
Edited: Matt J about 1 hour ago
You can't suppress file output, but you can use readlines and writelines to retrieve the file contents in string form and then modify them.

More Answers (1)

Umar
Umar 14 minutes ago
Edited: Umar 14 minutes ago
Hi @Martin Dale,
Just to add a bit more to this — I dug through the docs and Matt J's right, writestruct doesn't have any hidden option to spit out the XML as a string, it's file-output only. But I put together a short PDF that walks through both options in more detail: the readlines/writelines round-trip Matt mentioned, plus an alternative if you'd rather not touch a file at all (building the XML yourself with the DOM API and pulling the string straight out of xmlwrite).
Attaching it here in case the code samples are easier to follow laid out like this rather than scattered across comments. Should be a quick read — hope it helps sort out the tweaking you need to do before it gets read into your other application.

Products

Release

R2025b

Asked:

about 18 hours ago

Edited:

about 3 hours ago

Community Treasure Hunt

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

Start Hunting!