代码之家  ›  专栏  ›  技术社区  ›  Pete

对象数量可变的配置文件

  •  0
  • Pete  · 技术社区  · 14 年前

    希望在内部参数集的数量可以更改时,获得有关使用XML配置文件的一些反馈。

    目前,我使用一个XML文件加载程序参数(交易程序的合同规范),使用ApacheCommons配置,例如 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 回复  |  直到 14 年前
        1
  •  2
  •   Alex Jasmin    14 年前

    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