是否可以将xml属性文件划分为子部分?

时间:2014-07-03 08:58:55

标签: 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>

2 个答案:

答案 0 :(得分:1)

来自Java 7 Javadoc:

  

XML文档必须具有以下DOCTYPE声明:

     

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

Properties API使用DOCTYPE定义来检查文件的格式,如果不适合则抛出异常。如果您阅读它,则会发现它只允许<entry>段内的<comment><properties>元素。

您必须编写自己的代码来处理部分,或者您可以使用允许分层属性的Commons Configuration库。

答案 1 :(得分:1)

我认为您有两种选择:

  1. 编写自定义属性,例如 inlcude 。如果您找到这样的任何属性,请在解析当前属性文件之前阅读其他属性文件。
  2. 使用替代方法,例如支持 include-and-override 类配置的Apache Commons Configuration