Parametersheet einlesen - C/C++

Gast #5423943
Lesenswert?

Hallo zusammen,

Ich generiere aus Simulink Code um daraus für ein Simulationsprogramm 
eine DLL zu erstellen.
Das Simulinkmodell hat weit über 100 verschiedene Parameter die aus 
einer XML mit der folgenden Struktur eingelesen werden. Zum einlesen 
verwende ich rapidxml.
Das Problem ist nun, dass die XML extrem unübersichtlich geworden ist 
und auch insgesamt eher unhandlich ist.
Das erhöht natürlich die Fehleranfälligkeit.
Eine Überlegung ist, sowas direkt aus einer Excel-Tabelle einzulesen, da 
man da Tabellen auch direkt plotten und vergleichen kann (hat außerdem 
jeder).
Wie macht ihr sowas am besten? Was gibts für alternative Lösungen?
Was für Libs gibt es um zuverlässig eine Excel-Tabelle einzulesen?
1
<Controller_Parameter>        
2
  <Modul1>    
3
    <Param1>0</Param1>
4
    <Param1>1</Param1>
5
    <Param1>2</Param1>
6
    <Tabelle1>
7
      <Sample>      
8
        <X>1</X>
9
        <Y>1</Y>
10
      </Sample>      
11
      <Sample>
12
        <X>2</X>
13
        <Y>5</Y>
14
      </Sample>
15
    </Tabelle1>        
16
  </Modul1>  
17
</Controller_Parameter>
#5423954
Lesenswert?

Sieht mir eher nach einer Anwendung einer schlanken Datenbank aus. In 
Excel wird es auch unübersichlich, diese hierarchische Darstellung 
vernünftig hinzubekommen. Excel wird zwar gern genommen für solche 
Probleme, ist aber keine Allheilmittel.

SQLite ist eine sehr schlanke Datenbank, kostenlos und funktioniert gut. 
Millionenfach bewährt. Es gibt auch GUIs zum Verwalten.

Allerdings weiß ich nicht, ob du da mit Simulink darauf zugreifen 
kannst.

Edit: Wenn allerdings der Aufbau deines Beispieles fix ist, also es nur 
einmal <Tabelle> mit 2x <Sample> im <Modul> gibt und von <Modul> nur 
eines in <Controller>, dann geht es natürlich mit einer fixen Tabelle. 
Acuh CSV wie oben erwähnt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren