extracting specific values between two characters within text file

1 Ansicht (letzte 30 Tage)
I have a data text file. One parts of this file looks like;
<Almanacs>
<svAlmanac>
<SVID>01</SVID>
<almanac>
<aSqRoot>0.0253906</aSqRoot>
<ecc>7.62939e-05</ecc>
<deltai>0.00683594</deltai>
<omega0>0.882233</omega0>
<omegaDot>-1.86265e-09</omegaDot>
<w>0.155792</w>
<m0>0.036377</m0>
<af0>-7.62939e-06</af0>
<af1>-1.09139e-11</af1>
<iod>1</iod>
<t0a>461400</t0a>
<wna>2</wna>
I need to extract each numeric values between > and < orderly. These numeric values' fractional parts are not constant within the data file.

Akzeptierte Antwort

Image Analyst
Image Analyst am 10 Mär. 2017
See the help on "Importing XML Documents". You can probably use xmlread().
  1 Kommentar
Guillaume
Guillaume am 10 Mär. 2017
Yes, the file looks like xml, which shouldn't be parsed as if it was a text file without a great deal of care.
In particular, the order in which the tags appear is not guaranteed at all with xml, so just reading the numerical values without checking which tag they belong to would be extremely foolish.
As Image Analyst says, use xmlread and/or the file exchange xml2struct.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by