Get xml data from web into Matlab struct using webread and readstruct

6 次查看(过去 30 天)
I have been getting data from a web API, which returns the data in xml format. I can parse this into a Matlab struct, but only by first saving the char array to a file and then reading it with readstruct.
The below works, but is there any way to do this without writing and reading a file unnecessarily? Either by passing the char array to readstruct or having webread output a struct directly (like it does when the web response is json)?
webresponse = webread(url, queryname, queryvalue);
name1 = [tempname(),'.xml'];
writelines(webresponse, name1);
out = readstruct(name1);

采纳的回答

Animesh
Animesh 2024-10-4
To import XML data directly into a struct, you can use the "xml2struct" function, which is available on the MATLAB File Exchange. Here's how you can do it:
% Make sure that xml2struct is in your path
webresponse = webread(url, queryname, queryvalue);
out = xml2struct(webresponse);
Here is the link to the File Exchange page for "xml2struct":

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by