2010-11-21 9 views
0

想要在使用XML配置文件時獲得一些反饋,當內部參數集的數量可以更改時。具有可變數目對象的配置文件

目前我加載程序參數與使用Apache共享配置XML文件,例如(交易項目的合同規範),在try塊中的對象的構造函數:

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

這是罰款有一個固定數量的合同(參數集),但對於某些應用程序,我想加載任意數量的合同。實際上,我們談論的不到十個。

這似乎需要某種方式來遍歷一組事物並在XML文件中指定該集合。

或者,在這一點上,我應該使用數據庫嗎?

我發現它直接編輯XML文件更方便一些,所以如果這是一個稍微優雅的XML代碼問題,我寧願這樣做。

回答

2

this howto guide看來,你可以在你的XML字符串列表:

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

並採用getList()方法檢索它:

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

same page還說明了如何應對一組參數:

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

可以這樣訪問:

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

好東西,謝謝 – Pete 2010-11-21 23:36:41