具有可变数量对象的配置文件

时间:2010-11-21 22:02:03

标签: java xml dynamic

当内部参数集的数量可以改变时,

希望得到一些关于使用XML配置文件的反馈。

目前,我使用Apache Commons配置在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格式的代码稍微不那么优雅,我宁愿这样做。

1 个答案:

答案 0 :(得分: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