MATLAB Answers

0

extracting specific values between two characters within text file

Asked by sermet on 10 Mar 2017
Latest activity Commented on by Guillaume
on 10 Mar 2017
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.

  0 Comments

Sign in to comment.

1 Answer

Answer by Image Analyst
on 10 Mar 2017
 Accepted Answer

See the help on "Importing XML Documents". You can probably use xmlread().

  1 Comment

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.

Sign in to comment.