Файл конфигурации с переменным количеством объектов - PullRequest
0 голосов
/ 22 ноября 2010

хотел бы получить некоторые отзывы об использовании XML-файлов конфигурации, когда количество наборов параметров внутри может измениться.

В настоящее время я загружаю параметры программы (спецификации контрактов для торговых программ) с XML-файлом, используя ApacheКонфигурации Commons, например, в блоке 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 Ответ

2 голосов
/ 22 ноября 2010

Из этого руководства кажется, что вы можете иметь список строк в вашем 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...