Bonjour!
Je suis en train d'essayer d'extaire des données d'un fichier xml mais je ne pense pas qu'utiliser des boucles soit la meilleur des idées...
En gros je dois traiter des fichier de 300MO avec des lignes de code comme ci-dessous:
<CONTROL--Module#-1-Device@-DUT----009588-09:02:22:863>
1:1:0x0002:0x0002
1:1:0x0001:0x00A2
1:1:0x00E4:0x0002
</CONTROL--Module#-1-Device@-DUT----009588-09:02:22:863>
<TEMP-SENSOR--Module#-1-Device@-TESTER-009589-09:02:22:843>
1:1:0x0001:0x0001
</TEMP-SENSOR--Module#-1-Device@-TESTER-009589-09:02:22:863>
<STATU--Module#-1-Device@-DUT----009590-09:02:22:863>
1:1:0x0003:0x0003
</STATU--Module#-1-Device@-DUT----009590-09:02:22:863>
INFO:XXX
<TEMP-SENSOR--Module#-1-Device@-TESTER-009591-09:02:22:843>
</TEMP-SENSOR--Module#-1-Device@-TESTER-009591-09:02:22:863>
Sachant que les lignes reviennent toujours dans le même ordre mais qu'il peut y avoir d'autres informations entre les différents tests (le INFO dans les ligne au dessus).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
clear all
close all
%Ouverture et acquisition des données dans la matrice Data
[FileName,PathName] = uigetfile('*.xml','Sélectionnez le fichier texte');
fid=fopen(fullfile(PathName,FileName),'r');
Data = textscan(fid, '%s', 'delimiter', '\n');
fclose(fid);
%Extraction des valeurs TEMP-SENSOR
idx_TEMP_SENSOR_BEGIN = strncmp(Data{1},'<TEMP-SENSOR--Module#-1-Device@-TESTER-', 42);
idx_TEMP_SENSOR_END = strncmp(Data{1},'</TEMP-SENSOR--Module#-1-Device@-TESTER-', 43);
idx_TEMP_SENSOR = zeros(1,lenght(idx_TEMP_SENSOR_BEGIN)); |
Je voudrais mettre les informations dans un tableau avec le numéro de l'itération, (dans le premier test c'est l'iterration 009588). pour chaque valeur entre les balises comme par exemple 1:1:0x0003:0x0003.
Je suis en train d'essayer de faire des Idx pour trouver les cases qui m'intresse mais je ne crois pas que je fais ça ce la bonne manière, surtout que j'ai pas mal de data à post processer...
Quelqu'un pourrait-il m'aider s'il vous plait??? Ca m'aiderai vraiement beaucoup
Merci par avance,
NoBusy
Partager