1. Vorwort
Was ist jdom?
JDOM ist ein Open -Source -Projekt, das auf einer Baumstruktur basiert und die reine Java -Technologie verwendet, um XML -Dokumente zu analysieren, zu erzeugen, zu serialisieren und zu arbeiten. Es dient direkt Java -Programmierung, verwendet die Funktionen der Java -Sprache (Methodenüberladung, Sammlungen), kombiniert die Funktionen von SAX und DOM und macht das Parsen der ursprünglichen XML so einfach wie möglich. Es wird uns leicht für uns sein, JDOM zu verwenden, um die XML zu analysieren.
Vorteile von Jdom:
1. Jdom ist der Java -Technologie gewidmet und nimmt weniger Speicher als DOM -Anwendungen ein.
2. Jdom bietet eine einfachere und logische grundlegende Methode zum Zugriff auf XML -Informationen
3. Zusätzlich zur XML -Datei kann JDOM auch auf andere Datenquellen zugreifen. Sie können beispielsweise Klassen erstellen, um auf Daten aus SQL -Abfrageergebnissen zugreifen zu können.
Jdom -Komposition:
Jdom besteht aus 6 Paketen
Die Elementklasse repräsentiert Elemente des XML -Dokuments
org.jdom: Die grundlegende Klasse, mit der XML -Dateien analysiert werden sollen
org.jdom.adapters: Java -Klasse, die DOM -Anpassungen enthält
org.jdom.filter: Filterklasse mit XML -Dokumenten enthalten
org.jdom.input: Java -Klasse, die Lesen XML -Dokumente enthält
org.jdom.output: Klasse mit Ausgabe XML -Dokument enthält
org.jdom.trans Form Form: Enthält Java -Klassen, die Jdom XML -Dokumentschnittstelle in andere XML -Dokumentschnittstellen konvertieren
Was ist XML?
XML ist eine weit verbreitete erweiterbare Markup -Sprache. Es gibt viele Möglichkeiten, XML in Java zu analysieren, einschließlich der am häufigsten verwendeten wie JDOM, DOM4J, SAX usw.
JDOM -Paket herunterladen: http://www.jdom.org/downloads/index.html
Was der Code des Autors hier hier ist, Java zum Erstellen eines XML zu verwenden und eine XML zu lesen, die nur als Notiz -Einführung verwendet wird.
2. Betrieb
Laden Sie das JDOM-Paket herunter, entpacken Sie die Dateien jdom-2.0.6.jar, jdom-2.0.6-javadoc.jar und importieren Sie das Paket in den Lib-Ordner. (Beachten Sie, dass bei einem Fehler alle Pakete in JDOM importieren)
Beispiel 1: Erstellen Sie eine XML -Datei mit JDOM mit dem Namen people.xml
Erstellen Sie eine neue Klasse careatejdom
Paket com.book.jdom; import java.io.filenotfoundException; import Java.io.FileOutputStream; Import Java.io.io.ioException; import org.jdom2.document; import org.jdom2.element import.jdom2.format; void main (String [] args) {// Elementelement -Elemente, Schüler; people = New Element ("people"); Student = New Element ("Student"); // Setzen Sie den Attribut student. Document doc = new document (peopers); // das Format lesen und dem aktuellen Formatformat format = format.getCompactFormat (); // das aktuelle Formatformat initialisieren. Xmloutputter (Format); Versuchen Sie {// den geschriebenen Text an die Fabrik senden und einen Dateiausgabemestream erstellen, um die Data xmlout.output (DOC, New FileOutputStream ("people.xml")); BLOCKE.printstacktrace ();} catch (ioException e) {// Todo automatisch generiert blockeBeispiel 2: Verwenden Sie JDOM, um die Datei people.xml zu analysieren
Erstellen Sie eine neue ReadXML -Klasse
Paket com.book.jdom; import java.io.ioxception; import Java.util.list; import org.jdom2.document; import org.jdom2.element; Parse xmlsaxbuilder sax = new Saxbuilder (); // Erstellen Sie ein Dokument zum Akzeptieren von Datendokument doc; try {// für (int i = 0; i <list.size (); i ++) {Element e = list.get (i); // Attributwert -System abrufen. (Jdomexception e) {e.printStacktrace ();} catch (ioException e) {e.printstacktrace ();}}/** Auslaufergebnis:* Name: Zhang San Gehalt: 8000 Hehe**/XML analysieren
Methode zum Erhalten verschiedener Attributwerte mehrerer gleicher Tag-Namen mit Jdom <? XML Version = "1.0" coding = "utf-8"?> <Konfiguration> <Schlüsselname = "China"> <Wertname = "textkey"> China </value name = "aktiviert"> True </value> <value name = "photoidwidth"> 38PHOTHWIDTH </value Name="PhotoIDHeight">38</Value> <Key Name="Adult"> <Value Name="CrownPercent">0.10</Value> <Value Name="HeadPercent">0.60AdultHeadPercent</Value> </Key> <Key Name="Child"> <Value Name="CrownPercent">0.10</Value> <Value Name="HeadPercent">0.60ChildHeadPercent</Value> </Key> </Key> <taste name = "australy"> <value name = "textKey"> australia </value> <value name = "enabled"> true </value> <value name = "photoidwidth"> 35photoidwidth Name = "Kopfperting"> 0,756 "Erwachsener" Headpercent </value> </key> <Schlüsselname = "child"> <Wertname = "Crownpercent"> 0,072 </value> <value name = "Kopfpertage"> 0,711ChildheaSheaNcent </key> <tastria name "astria"> </value name "teureria"> teury "> teury"> tector <Value Name="PhotoIDWidth">35PhotoIDWidth</Value> <Value Name="PhotoIDHeight">45</Value> <Key Name="Adult"> <Value Name="CrownPercent">0.064</Value> <Value Name="HeadPercent">0.744AdultHeadPercent</Value> </Key> <Key Name="Child"> <Value Name = "crownpercent"> 0.078 </value> <value name = "Headpercent"> 0.689ChildheaNcent </value> </key> </key> </configuration> Paketeingabe; Import Java.io.ioException; importieren Java.util.ArrayList; Import.util.List; Import. org.jdom.jdomexception; import org.jdom.input.saxbuilder; public class readxml { / ** * @param args * / public static void main (String [] args) löscht jdomexception, ioException {saxbuilder sb = new Saxbuilder (); // Dokumentobjekt -Dokument doc = sb.build (test.class.getClassloader (). GetResourceAsStream ("nation.xml")); // das Root Element Element root = doc.getrootelement () abrufen; // Suchen Sie <Configuration> -> <Key> list <element> list = root.getChildren ("key"); LIST <ELELTION> Kinder = new ArrayList <element> (); LIST <ELELTER> CILDERRENS = New ArrayList <element> (); für (int i = 0; i <list.size (); i ++) {Element element = (element) list.get (i); System.out.print (element.getAttributeValue ("Name")); // Sokieren <configuration> -> <Key> -> <wert> Kinder = element.getChildren ("value"); für (int j = 0; j <childhes.size (); j ++) {Element elementChildren = (Element) childhes.get (j); // Suchen Sie <konfiguration> -> <Key> -> <value name = "photoidwidth"> if (elementchildren.getAtTributeValue ("Name"). Equals ("PhotoidWidth") {// DET <Konfiguration> -> <taste> -> <value name = "photoidwidth"> zu Attribute Value -Wert -Wert -Wert -Wert -Wert -Wert -Wert -Wert. System.out.print ("<---------------------" "+elementCildren.getAttributeValue (" Name "); // den Inhalt der <konfiguration> --> <etaste>-> <value name =" photoidWidth "> Tag-System.out.Out.print (", "+elementchildren.Getiere ()->}}}}}}}}}}}}}}} (); <Key> Kinder = element.getchildren ("key"); -> <Key> -> <Schlüsselname = "Child"> -> <Wert> childrens = elementchildren.getChildren ("value"); if (elementchildrens.getAttributeValue ("name"). Equals ("Headpercent") {System.out.println ("<----------->"+elementchildrens.GeteText ()); }}}}} }} 打印结果 : China <----------> Photoidwidth, 38-Photoidwidth <----------> 0,60ChildheaNcentaustralia <----------> Photoidwidth, 35photoidwidth <----------> 0,711ChildheasedsDie obige Methode ist die Methode, um mit JDOM XML in Java Web vorgestellt zu werden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!