How to structure the data using webread

Hi, I will have to automatize a procedure to extract data from different URLs, One example of the URL link is the following:
url='https://earthquake.usgs.gov/fdsnws/event/1/query?format=quakeml&eventid=us6000n8tq',
data=webread(url);
The variable data has a huge amount of information that I would like to structure in order to access and retrieve the data easily without the need of creating a xml file.
I would appreciate the help.

 採用された回答

Ayush Aniket
Ayush Aniket 2024 年 7 月 16 日
編集済み: Ayush Aniket 2024 年 7 月 16 日

0 投票

Hi Jorge,
To retrieve specific data from the XML file, you can use regexp on the string output of webread function. Refer the following MATLAB answer for an example: https://www.mathworks.com/matlabcentral/answers/883153-how-to-extract-the-data-from-webread-output
You may also refer the following link to understand more about the regexp function: https://www.mathworks.com/matlabcentral/answers/402062-help-using-regexp?#answer_321487

1 件のコメント

Jorge Luis
Jorge Luis 2024 年 7 月 16 日
Thank you very much. Yes, that was the other option I was tempted to use but considering all the amount of data, I wanted a way in which all the information is converted in a structure matrix. I managed to do that but you need to save the data and use functions to write a xlm file and then structure the file.

サインインしてコメントする。

その他の回答 (1 件)

Anshuman
Anshuman 2024 年 7 月 16 日

0 投票

First you can parse the data to xmlData:
% Convert the data from char to XML DOM
xmlData = xmlreadstring(data);
You can use XPath queries to extract specific elements from the XML data:
% Create an XPath factory and compile the XPath expression
factory = javax.xml.xpath.XPathFactory.newInstance;
xpath = factory.newXPath;
% Extract magnitude
magnitudeExpression = xpath.compile('//magnitude/mag/value');
magnitudeNode = magnitudeExpression.evaluate(xmlData, javax.xml.xpath.XPathConstants.NODE);
magnitude = str2double(magnitudeNode.getTextContent);
This way you can extract the specific data like magnitude and any other information as needed.

2 件のコメント

Jorge Luis
Jorge Luis 2024 年 7 月 16 日
Much appreciated. I am still looking for the way of saving the files as xlm witouth saving the webread data in order to structure all the information using the following function: https://www.mathworks.com/matlabcentral/fileexchange/28639-struct2xml.
Jorge Luis
Jorge Luis 2024 年 7 月 17 日
The function xmlreadstring does not work.

サインインしてコメントする。

カテゴリ

製品

リリース

R2023a

質問済み:

2024 年 7 月 15 日

編集済み:

2024 年 7 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by