2012-04-01 5 views
1

in der Post gelegen heremehr Abschnitte in xml-Datei Eigenschaften

Andrew Finnell Antwort war bei weitem der am nützlichsten zu einem Punkt. Ich muss jedoch wissen, wie das andere in so dass andere Abschnitte erweitern als

nur
<properties> 
</properties> 

Wenn die Antwort auf dieser Seite ist bereits lass es mich wissen, wenn nicht jemand mir helfen kann.

Grundsätzlich möchte ich

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

etc haben ... wie meine Abschnitte. Alle normalen XML-Bibliotheken und solche, die ich gefunden habe, sind weit zu sperrig und verwirrend, so hoffe ich, in der Lage zu sein, die oben erwähnte Methode mit viel mehr Leichtigkeit zu verwenden. Danke im Voraus.

Antwort

2

Eine XML-Datei benötigt exacatly ein Wurzelelement. Andernfalls ist es nicht gültig und kann nicht von XML-Parsern verarbeitet werden.

eine gültige XML mit Abschnitten könnte wie folgt aussehen:

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

Wenn Sie Abschnitte in eine XML-Datei-Eigenschaften setzen, ist es nicht mehr um ein XML-Datei-Eigenschaften, und man kann nicht erwarten, zu verwenden java.utils.Properties um es zu verarbeiten.

Wenn Ihre Anforderung für Eigenschaften (Name/Wert-Paare) in benannten Abschnitten gilt, können Sie die Syntax der INI-Datei verwenden. Dafür gibt es eine Java-Bibliothek.

Wenn Sie etwas allgemeineres wollen, dann werfen Sie einen Blick auf JSON. Es gibt eine Reihe von Java-Bibliotheken, die mit JSON umgehen. (Ich mag Jackson, weil es Ihnen erlaubt, reguläre Java-Beans JSON zuzuordnen.)

1

Ok danke für schnelle Antworten. Ich habe die Dinge ein wenig umstrukturiert und hier ist mein XML. Ist dies 100% konform oder sind geringfügige Änderungen erforderlich?

<?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>