Java-integriertes XML

8

Verfügt Java über eine integrierte XML-Bibliothek zum Generieren und Parsen von Dokumenten? Wenn nicht, welchen Dritten sollte ich verwenden?

    
Mike 30.08.2009, 20:07
quelle

11 Antworten

7

Die Sun Java Runtime enthält die Xerces- und Xalan-Implementierungen, die das Analysieren von XML (über die DOM- und SAX-Schnittstellen) sowie das Ausführen von XSL-Transformationen und das Ausführen von XPath-Abfragen ermöglichen.

Es ist jedoch besser, JAXP zu verwenden API, um mit XML zu arbeiten, da JAXP Ihnen erlaubt, sich nicht um die zugrundeliegende Implementierung zu kümmern (Xerces oder Crimson oder andere). Wenn Sie JAXP verwenden, verwendet die JRE zur Laufzeit den Dienstanbieter, den sie finden kann, um die erforderlichen Operationen auszuführen. Wie bereits erwähnt, wird Xerces / Xalan verwendet, da es mit der Sun JRE ausgeliefert wird (keine anderen). Sie müssen also keinen bestimmten Anbieter herunterladen und installieren (z. B. eine andere Version von Xerces oder Crimson). p>

Ein grundlegendes JAXP-Tutorial finden Sie in Das J2EE 1.4-Lernprogramm ( Es ist von der J2EE-Tutorial, aber es wird helfen).

Beachten Sie, dass die von Sun JRE bereitgestellten Xerces / Xalan-Implementierungen nicht in den Paketen org.apache.xerces. * oder org.apache.xalan. * gefunden werden. Stattdessen sind sie in den internen Paketen com.sun.org.apache.xerces. * Und com.sun.org.apache.xalan. * Enthalten.

JDOM ist übrigens kein XML-Parser - es verwendet den Parser, der von JAXP zur Verfügung gestellt wird um Ihnen eine einfachere Abstraktion zu ermöglichen.

    
Vineet Reynolds 30.08.2009, 20:13
quelle
4

Ja. Es hat zwei Optionen im Paket javax.xml: DOM erstellt Dokumente im Speicher und SAX ist ein ereignisbasierter Ansatz.

Sie können sich auch JDOM ansehen, eine Bibliothek von Drittanbietern, die eine Kombination aus beidem bietet und einfacher zu verwenden ist.

    
ndp 30.08.2009 20:13
quelle
2

Ja. Java enthält javax.xml library. Sie können einige Beispiele in Suns Java-API für XML-Codebeispiele herunterladen.

Ich persönlich mag es jedoch JDOM library .

    
notnoop 30.08.2009 20:13
quelle
1

javax.xml package enthält Javas native XML-Lösung, die eigentlich eine spezielle Version von Xerces ist. Sie können tun, was Sie damit gefragt haben, aber die Verwendung von Drittanbieter-Bibliotheken wie JDOM erleichtert den gesamten Prozess erheblich.

    
Esko 30.08.2009 20:13
quelle
1

Sehen Sie sich JAX-B an. Dies ist zunehmend die "Standard" -Methode für XML wird bearbeitet. Verwendet Java-Anmerkungen, um das Programmiermodell zu vereinfachen. Die Referenz gibt Beispielcode zum Lesen und Schreiben von XML.

    
djna 30.08.2009 20:13
quelle
1

Java enthält eine große Menge an Paketen und Klassen, um mit XML zu arbeiten. Diese sind Teil des JDK der Standard Edition und befinden sich unter dem Paket javax.xml.

Neben dem Lesen von XML und dem Schreiben mit DOM oder SAX , führen diese Pakete auch XSL-Transformationen durch, JAX-B Objekt-Marshalling und -Unmarshalling, XPath Verarbeitung und Web-Services SOAP Handhabung. Ich rate Ihnen, mehr über diese online in Suns ausgezeichneten Tutorials zu lesen.

    
Yuval 30.08.2009 20:20
quelle
1

Ich kann Ihnen nicht sagen, welche zu verwenden ist (wenige Anforderungen angegeben, und dort sind ein Dutzend Bibliotheken), aber ich würde XOM ( hier ) ernsthaft in Erwägung ziehen.

Geschrieben von Eliotte Rusty Harold, ist es in Bezug auf das XML ziemlich vollständig Spezifikation und im Allgemeinen ausgezeichnet. Ich habe es sehr einfach zu benutzen gefunden. Siehe die Link oben für Harolds Motivation und Kritik an anderen Lösungen.

    
Michael Easter 31.08.2009 00:12
quelle
0

Sie können sich das Paket javax.xml ansehen, das alles enthält, was Sie zum Arbeiten mit XML-Dokumenten in Java benötigen ...

    
romaintaz 30.08.2009 20:10
quelle
0

Java-API für XML-Verarbeitung (JAXP) ist Teil der Standardbibliothek JavaSE. JAXP ermöglicht es Ihnen, Code für die Standardschnittstelle zu verwenden, und Sie können später bei Bedarf die Implementierung des Parsers auswählen.

  

Die Java-API für die XML-Verarbeitung oder   JAXP kurz, ermöglicht Anwendungen   Parsen und Transformieren von XML-Dokumenten   Verwenden einer API, die unabhängig von a ist   bestimmter XML-Prozessor   Implementierung. JAXP bietet auch ein   Pluggability-Funktion, die ermöglicht   Anwendungen zum einfachen Umschalten zwischen   bestimmter XML-Prozessor   Implementierungen.

    
Eugene Yokota 30.08.2009 20:15
quelle
0

Sie können StAX (Streaming-API für XML) verwenden Ссылка Ссылка Ссылка

StAx ist für die Verarbeitung großer xml-Dateien optimiert, ohne dass es zu einem OOM-Problem (nicht genügend Arbeitsspeicher) kommt:)

    
janetsmith 30.08.2009 23:28
quelle
0

Wie bereits gesagt ... Java SDK kommt jetzt mit Xerces und Xalan. Xalan implementiert nur die Version 1.0 der XSLT-API. Wenn Sie also 2.0 möchten, sollten Sie sich Saxon von Michael Kay ansehen.

    
dacracot 30.08.2009 23:41
quelle

Tags und Links