Java-XML σε 3 λεπτά


Η XML είναι ένας σαφής και ξεκάθαρος τρόπος να περιγράφουμε δεδομένα. Στο σύντομο αυτό άρθρο θα δούμε με ποιό τρόπο η Java δημιουργεί και διαβάζει ένα απλό XML αρχείο.

Ας δούμε ένα παράδειγμα:

<?xml version="1.0" encoding="UTF-8"?>
<message id="123">
    <from>Νίκος</from> 
    <to>Σοφία</to> 
    <text>Καλημέρα!</text> 
</message>

Αυτό το απλό κείμενο αναπαριστά ένα μήνυμα.

<message>
    ...
</message>

Παρατηρούμε ότι το μήνυμα έχει την ιδιότητα @id,

<message id="...">
    ...
</message>

και 3 παιδιά.

<from> ... </from>
<to> ... </to>
<text> ... </text>

Βήμα 1. Κατέβασε το dom4j

Πάρε το dom4j από το dom4j.org → Download → Download the current release SourceForge → dom4j-1.6.1.jar

Αν χρησιμοποιείς Java 1.5 κατέβασε το dom4j-1.5.2.jar. Για Java 1.4 κατέβασε το dom4j-1.4.zip: μέσα του είναι το dom4j-full.jar

Βήμα 2. Βάλε το jar στο classpath

Στο Eclipse: Project → Java Build Path → Libraries → Add External JARs…

Στο Netbeans: File → “Project” Properties → Libraries → Add JAR/Folder

Στο JDeveloper 11g: Tools → Project Properties… → Libraries and Classpath → Add JAR/Directory…

Βήμα 3. Φτιάξε το XML

	// Φτιάξε το κείμενο
	Document document = DocumentHelper.createDocument();
	// Όρισε τον πατέρα
	Element root = document.addElement("message").addAttribute("id", "123");
	// Όρισε το "from"
	root.addElement("from").addText("Νίκος");
	// Όρισε το "to"
	root.addElement("to").addText("Σοφία");
	// Όρισε το "text"
	root.addElement("text").addText("Καλημέρα!");

Τόσο απλά!

Βήμα 4. Αποθήκευσε το XML

// Φρόντισε να έχει κωδικοποίηση UTF-8
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("UTF-8");
		format.setTrimText(false);
// Αποθήκευσέ το
		XMLWriter writer = new XMLWriter(new FileWriter("C:/message.xml"), format);
		writer.write(document);
		writer.close();

Βήμα 5. Διάβασε το XML

// Βρες το αρχείο
URL url = new File("C:/message.xml").toURI().toURL();
// Διάβασε το κείμενο
Document document = new SAXReader().read(url);

Βήμα 6. Πάρε την πληροφορία

// Πάρε τον πατέρα
Element root = document.getRootElement();
// Πάρε την ιδιότητα id
root.attributeValue("id");
// Πάρε το παιδί from
Element from = root.element("from");
if (from != null) {
   from.getText();
}

Step 7. Και λίγο XPATH

// Πάρε τον πατέρα
Element root = document.getRootElement();
// Πάρε την ιδιότητα id
root.valueOf("@id");
// Πάρε το παιδί from
Node from = root.selectSingleNode("./from");
if (from != null) {
   from.getText();
}

Ένα καλό μάθημα XML βρίσκεται στο w3schools.com.

Ευχαριστώ.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: