How to decode xml content using webread ?
    12 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposte (1)
  Andrew Black
 il 16 Giu 2021
        
      Modificato: Andrew Black
 il 16 Giu 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 Commenti
Vedere anche
Categorie
				Scopri di più su Downloads in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

