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

发布于 2024-10-03 15:48:19 字数 537 浏览 1 评论 0原文

当内部参数集的数量可能发生变化时,希望获得有关使用 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 代码稍微不太优雅的问题,我宁愿这样做。

would like to get some feedback on using XML config files when the number of parameter sets inside can change.

Currently I load in program parameters (contract specifications for trading programs) with an XML file using the Apache Commons Configurations, for example, in a try block in an object's constructor:

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

This is fine for have a fixed number of contracts (parameter sets), but for some applications I'd like to load any number of them. Practically we are talking about less than ten.

This would seem to require some way to iterate over a set of things and specify that set in the XML file.

Or, at this point, should I be using a database?

I find it a little more convenient to edit XML files directly, so if it is a question of slightly less elegant code with XML, I'd rather do that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡笑忘祈一世凡恋 2024-10-10 15:48:19

此指南 看来,您可以在其中包含字符串列表您的 XML:

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

并使用 getList() 方法检索它:

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

同一页面还展示了如何处理参数集合:

<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

From this howto guide it seems that you can have a list of strings in your XML:

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

And retrieve it using the getList() method:

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

That same page also shows how to deal with a collection of parameters:

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

which can be accessed this way:

List prop = (List)config.getProperty("tables.table.name"); // get list of strings
config.getProperty("tables.table(0).name") // access first table name
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文