[Reddit Cross Post] Reading XML data where commas are used as thousands and as separators

7 次查看(过去 30 天)
I need to extract the data of a lab equipment that only exports an XML file, so I'm trying to have a simple script to convert it to paired data or create a graph. The problem is: whenever the Y values go over 1000 it adds a comma separator. Using simple ',' splits won't work. What is the best approach for something like this? Why would they make it like that? ...
Hopefully it is simple to adjust (already tried the equipment side approach but can't make any modifications to the export file).
<XVALUES>6.9661,..........1.9950,1.9896,1.9845,1.9791,1.9741,1.9688,1.9632,1.9578,1.9523,1.9459,1.9376,1.9301,1.9233,1.9160,1.9086,1.9020,1.8952,1.8885,1.8820,1.8756,1.8693,1.8630,1.8569,1.8509,1.8446,1.8385,1.8327,1.8267,1.8209,1.8149</XVALUES>
<YVALUES>-10.19,.......11.17,14.56,18.45,...........,1,935.56,1,928.36,1,922.59,1,918.27,1,914.43,1,909.62,1,903.38,1,898.58,1,893.77,1,888.49,1,883.69,1,879.36,1,875.04,1,870.24,1,865.43,1,863.51,1,862.55,1,861.11,1,859.19,1,855.35,1,853.42,1,851.02,1,849.58,1,846.70,1,845.74,1,844.30,1,841.90,1,839.98,1,838.05,1,837.09,1,833.25,1,827.01,1,821.24,1,812.60,1,795.30,1,744.39,1,709.81,1,681.95,1,646.88,1,613.26,1,587.80,1,564.26,1,537.85,1,515.27,1,496.06,1,476.84,1,459.07,1,442.74,1,427.37,1,411.04,1,394.23,1,380.78,1,369.73,1,357.72,1,344.27</YVALUES>

回答(1 个)

Josh Kahn
Josh Kahn 2025-10-16
编辑:Walter Roberson 2025-10-16
data = readlines('data.xml');
yValues = cellfun(@double,regexp(data, '(?<YVALUE>\d*,?\d+.\d+)(?:,|<)', 'tokens'))
yValues =
1.0e+03 *
Columns 1 through 17
0.0102 0.0112 0.0146 0.0184 1.9356 1.9284 1.9226 1.9183 1.9144 1.9096 1.9034 1.8986 1.8938 1.8885 1.8837 1.8794 1.8750
Columns 18 through 34
1.8702 1.8654 1.8635 1.8625 1.8611 1.8592 1.8553 1.8534 1.8510 1.8496 1.8467 1.8457 1.8443 1.8419 1.8400 1.8380 1.8371
Columns 35 through 51
1.8333 1.8270 1.8212 1.8126 1.7953 1.7444 1.7098 1.6820 1.6469 1.6133 1.5878 1.5643 1.5378 1.5153 1.4961 1.4768 1.4591
Columns 52 through 59
1.4427 1.4274 1.4110 1.3942 1.3808 1.3697 1.3577 1.3443

类别

Help CenterFile Exchange 中查找有关 View and Analyze Simulation Results 的更多信息

产品


版本

R2025b

Community Treasure Hunt

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

Start Hunting!

Translated by