#java
#java
Вопрос:
С помощью метода Properties.LoadFromXML я могу получить файл свойств xml. Возможно ли разделить этот файл на подразделы, такие как, например:
<properties>
<entry key="normalprop">normal value</entry>
<aSubsection key="subname">
<entry key="suboption">suboption value</entry>
<entry key="suboption">suboption value</entry>
</aSubsection>
<properties>
Ответ №1:
Из Java 7 Javadoc :
XML-документ должен иметь следующее объявление DOCTYPE:
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
Определение DOCTYPE используется Properties
API для проверки формата файла и выдачи исключения, если он не подходит. Если вы прочтете это, то увидите, что оно допускает только элементы <entry>
и <comment>
внутри <properties>
сегмента.
Вам придется написать свой собственный код для обработки разделов, или вы можете использовать библиотеку Commons Configuration, которая допускает иерархические свойства.
Ответ №2:
Я думаю, что для вас есть две альтернативы:
- Напишите пользовательское свойство, подобное inlcude. Если вы обнаружите какие-либо свойства, подобные этому, прочитайте дополнительные файлы свойств до -после того, как вы проанализировали текущий.
- Используйте альтернативу, например, конфигурацию Apache Commons, которая поддерживает конфигурацию, подобную включению и переопределению.