xml属性文件中的多个部分

时间:2012-04-01 07:32:27

标签: java xml properties-file

位于here

的帖子中的

到目前为止,Andrew Finnell的回复是最有帮助的。但是我需要知道如何将其扩展为允许除

之外的其他部分
<properties>
</properties>

如果答案已经在该页面上,请告诉我,如果没有,有人可以帮助我。

基本上我想拥有

<properties>
</properties>
<blah1>
</blah1>
<blah2>
</blah2>

等...作为我的部分。我发现的所有正常的xml库都非常庞大和令人困惑,因此我希望能够更轻松地使用前面提到的方法。提前谢谢。

3 个答案:

答案 0 :(得分:2)

xml文件需要激动的一个根元素。否则它无效,xml解析器无法处理。

带有部分的有效xml可能如下所示:

<properties>  <!-- root element -->
  <section1>  <!-- section 1 as a child of root -->
  </section1>
  <section2>  <!-- section 2 as a child of root -->
  </section2>
</properties>

答案 1 :(得分:1)

如果将部分放入XML属性文件中,它不再是XML属性文件,并且您不能期望使用java.utils.Properties来处理它。

如果您的要求是针对命名部分中的属性(名称/值对),那么您可以使用INI文件语法。有一个用于处理此问题的Java库。

如果你想要更通用的东西,那么看看JSON。有一大堆Java库可以处理JSON。 (我喜欢Jackson,因为它允许您将常规Java bean映射到JSON。)

答案 2 :(得分:1)

好的,谢谢快速回复。我重新构建了一些东西,这是我的xml。这是100%合规还是需要进行细微更改?

<?xml version="1.0"?>
<configuration>
<settings name="connection">
    <server>test.com</server>
    <name>blah</name>
    <password>blah</password>
    <owner>blah</owner>
    <staff>blah,blH,BLAH,BLah</staff>
    <timercount>5</timercount>
</settings>

<settings name="prvtmsg">
    <hello>Hello %person. How are you today?</hello>
    <commands>I have the following commands: About, Help, and Join</commands>
</setting>

<settings name="timers">
    <timer1>interval,action,delay</timer1>
    <timer2>interval,action,delay</timer2>
    <timer3>interval,action,delay</timer3>
    <timer4>interval,action,delay</timer4>
    <timer5>interval,action,delay</timer5>
</settings>
</configuration>