2010-11-21 11 views
0

möchte Feedback zur Verwendung von XML-Konfigurationsdateien erhalten, wenn sich die Anzahl der Parametersätze ändern kann.Konfigurationsdatei mit variabler Anzahl von Objekten

Derzeit laden I Programmparameter (Kontraktspezifikationen für Trading-Programme) mit einer XML-Datei, die die Apache Commons Konfigurationen verwenden, zum Beispiel in in einem try Block in einem Konstruktor des Objekts:

XMLConfiguration config = new XMLConfiguration("TraderParms.xml"); 
m_myContract.m_symbol=config.getString("contract.symbol"); 
m_myContract.m_expiry=config.getString("contract.expiry"); 

Das ist in Ordnung für habe eine feste Anzahl von Verträgen (Parametersätze), aber für einige Anwendungen möchte ich eine beliebige Anzahl von ihnen laden. Praktisch sprechen wir von weniger als zehn.

Dies scheint eine Methode zu erfordern, um eine Reihe von Dingen zu iterieren und diese in der XML-Datei festzulegen.

Oder sollte ich an dieser Stelle eine Datenbank verwenden?

Ich finde es ein wenig bequemer, XML-Dateien direkt zu bearbeiten, wenn es sich also um etwas weniger eleganten Code mit XML handelt, würde ich das lieber tun.

Antwort

2

Von this howto guide scheint es, dass Sie eine Liste von Strings in Ihrem XML haben:

<buttons> 
    <name>OK,Cancel,Help</name> 
</buttons> 

und Abrufen von der getList() Methode:

List buttons = config.getList("buttons.name"); 

Die same page zeigt auch, wie zu behandeln eine Sammlung von Parametern:

<database> 
    <tables> 
    <table tableType="system"> 
     <name>users</name> 
    </table> 
    <table tableType="application"> 
     <name>documents</name> 
    </table> 
    </tables> 
</database> 

, die auf diese Weise erreicht werden kann:

List prop = (List)config.getProperty("tables.table.name"); // get list of strings 
config.getProperty("tables.table(0).name") // access first table name 
+0

Gute Sachen, danke – Pete

Verwandte Themen