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