java en xml?

  • Onderwerp starter Onderwerp starter Juzzz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Juzzz

Gebruiker
Lid geworden
15 jan 2008
Berichten
281
Ik wil een soort spel maken die je zowel online als offline kunt spelen(website, en download versie)

het probleem is alleen dat ik wil kunnen opslaan.

ik dacht aan xml.


maar ik kan nou niet echt iets goeds(makkelijks) vinden om vanuit java met xml te werken.
ook de gevonden voorbeeld codes zijn allemaal anders.

kan iemand mij daar een beetje mee op weg helpen?

alvast bedankt
 
Kijk eens in mijn topic over topscores opslaan. Ik had een vergelijkbare vraag...
 
ik wil toch niet echt met een database gaan werken.

ik wil wel inderdaad dingen opslaan (om te beginnen)

uiteindelijk wil ik dat het zowel op het spel download versie als de internet versie zo'n soort file kan lezen en dat de user dat niet zomaar kan veranderen.

is daar een beetje een goede oplossing voor?
 
Dit is ongeveer dezelfde code als uit topscore vraag. Alleen deze zal het wegschrijven als XML.

De belangrijkste verschillen zitten in de topScore klasse. Als je XML gebruikt moet je klasse zich aan de Java Bean naming houden..Dit houdt in dat je voor elke variable get.. en set... gebruikt.


Code:
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {

    public static void main(String[] args) {
        TopScore score = new TopScore();
        score.setTopScore(100);

        try {
            System.out.println("Top score = " + score.topScore);

            System.out.println("Top score wegschrijven...");
            XMLEncoder out = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("C:\\topscore.xml")));
            out.writeObject(score);
            out.close();

            score.topScore = 0;
            System.out.println("Score is gereset.. score is :" + score.topScore);

            System.out.println("Top score inlezen...");

            XMLDecoder in = new XMLDecoder(new BufferedInputStream(new FileInputStream("C:\\topscore.xml")));
            score = (TopScore) in.readObject();
            in.close();
            
            System.out.println("Top score = " + score.topScore);

        } catch (IOException ie) {
            System.out.println("Er is iets fout gegaan met schrijven/lezen van topscore.");
        }
    }

    public static class TopScore  {
        private int topScore;

        public void setTopScore(int score) {
            topScore = score;
        }

        public int getTopScore() {
            return topScore;
        }

    }
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan