Η 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.
Ευχαριστώ.