Unterschiede zwischen JAXB und XMLBEANS

Unterschiede zwischen JAXB und XMLBEANS

JAXB gegen XMLBEANS

Jaxb ist ein Teil der Javaee -Standards und bezieht sich auf die Java -Architektur für die XML -Bindung. Es ist dieser Prozess, der für die Verarbeitung von XML -Dokumenten verwendet wird. Die Verwendung von JAXB wird bevorzugt, da sie eine Alternative für die Verarbeitung von XML -Dokumenten in Java bietet, ohne unbedingt alle kleinen Details der XML -Technologie verstehen zu müssen. JAXB ist in Javaee 5 konforme Anwendungen als Open -Source -Paket verfügbar. Das Paket ermöglicht die Datenbindung und das einfache Lesen und Zugriff auf XML -Dokumente, die in der Java -Programmiersprache geschrieben wurden. XMLBeans hingegen ist ein von BEA-Systemen entwickeltes Open-Source. Ein gutes Hintergrundwissen in XML ist jedoch beim Umgang mit XMLBeans erforderlich. Es gibt jedoch Unterschiede zwischen den beiden und werden nachstehend diskutiert.

Unterschiede

Vor der Entwicklung von JAXB und XMLBEANS war der einzige Weg, wie XML verarbeitet werden konnte JAXP (Java -API für die API -Verarbeitung). Der Entwickler musste Code erstellen, der darauf ausgerichtet war, DOM oder SAX über JAXP aufzurufen, damit der Code die Sprache im XML -Dokument analysieren konnte. Beim Scannen hat der Code den Code normalerweise in verschiedene Teile eingebrochen, damit er den Zielanwendungen zur Verfügung gestellt werden kann.

Der Hauptunterschied zwischen JAXB und XMLBEANS ist der Ansatz, den jeweils das Marshalling und das Unmarshalling von XML -Dokumenten verfolgt. XMLBeans verarbeitet das gesamte XML. XMLBeans hat einen Cursor erstellt, der das XML -Dokument durchsucht. Mit dem Cursor kann auf jedes Element des Dokuments zugegriffen werden, einschließlich Schemainformationen oder Kommentare, da die Treue des Dokuments aufrechterhalten wird. XMLBeans sieht auch die Ausführung von XQuery innerhalb desselben Dokuments vor. Weitere typisierte Zugang wird von XMLBeans mit einem eher generischen Zugangstyp bereitgestellt, der zu einer Reflexion der API wird. XMLBeans erfordert, wie bereits erwähnt.

Jaxb hingegen ist mit dem XML -Schema gebunden. Dies folgt einem Problem, das mit der ersten JAXB -Version auftrat, da nicht alle XML -Schema -Funktionen unterstützt werden konnten, die nur DTDs (Dokumenttypdefinitionen) unterstützen konnten). Dies bedeutete, dass die erste Veröffentlichung von JAXB keine lesbaren Bindungen liefern konnte. Jaxb 2.0 hat die Entwicklungsverarbeitung ziemlich einfach gemacht, da sie eine vollständige XML -Schema -Unterstützung, Java bis XML -Schema -Zuordnung, Portabilität und Schemaentwicklung ermöglicht. Darüber hinaus hat JAXB das flexible Unmarshalling von XML -Inhalten eingeführt, der ungültig ist und unentschlossen ist.

Zusammenfassung:

- XMLBeans ist besser, wenn Sie robustere XML -Funktionen bevorzugen e.G. XQueries und Direct XML -Dokumentzugriff. Die Verwendung von Speicherverwaltung und Leistung geht auf Kosten des Speichermanagements und der Leistung.

- JAXB wird bevorzugt, wenn Sie eine höhere Leistung und Speicherverwaltung wünschen, obwohl es nicht so gründlich wie XMLBeans ist.

- Jaxb sollte ausgewählt werden, wenn Sie nach einer einfachen XML -Dokumentkonvertierung suchen.

- Die Bindungsanpassung tritt im Gegensatz zu XMLBeans am besten auf.

- JAXB bietet einen effizienten Speichergebrauch im Gegensatz zur Verwendung von XMLBeans, einem Speicherprozess.

- Wenn Sie ein XML -Dokument unmarshal unmarshal nicht. Beim Bindungschema können Sie die Verwendung von ObjectFactory für die Erstellung von Objekten verwenden und festgelegte Methoden zur Erstellung der Inhaltserstellung anwenden.