How to decode xml content using webread ?
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I am doing a webread that gives an xml document :
url='***'; % not displayed
data = webread(url)
My issue is that I am getting characters like :
"<?xml version="1.0" encoding="UTF-8"?>"
It is clear that the xml data is not decoded correctly. I have tried to use weboptions by specifying 'MediaType' and 'ContentType' but it did not help at all :
options = weboptions(...
'MediaType','text/xml');
The above changed nothing.
options = weboptions(...
'ContentType', 'xmldom')
The above retreived no data at all.
The xml document is embedded into an soap Envelope liek this :
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:***>
<TheXMLIwant>
<?xml version="1.0" encoding="UTF-8"?>
<blabla>123456</blabla>
</TheXMLIwant>
</ns2:***>
</soap:Body>
</soap:Envelope>
I found a function from MATLAB doing what I need but you have to have a Text Analytics toolbox which I guess is completely overshoot fo what is required here:
Should be a way to do this with the webread.
Thanks in advance.
0 Kommentare
Antworten (1)
Andrew Black
am 16 Jun. 2021
Bearbeitet: Andrew Black
am 16 Jun. 2021
I encountered this same problem, and there's a bit of a workaround described here:
and the xmldom structure described nicely here:
Once you have xmlreadstring.m from the first link in your path:
wr = webread(url);
dom = xmlreadstring(wr);
and your XML data, from your url is now in dom.
I am not sure how the soap envelope will effect this, but if you strip the envelope from your xml string, it should work.
0 Kommentare
Siehe auch
Kategorien
Mehr zu String Parsing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!