Forskelle mellem JAXB og XmlBeans Forskellen mellem

Anonim

JAXB vs XmlBeans

JAXB er en del af JavaEE-standarderne og refererer til Java Architecture for XML Binding. Det er denne proces, der bruges til behandling af XML-dokumenter. Brugen af ​​JAXB foretrækkes, da det giver et alternativ til behandling af XML-dokumenter i Java uden nødvendigvis at forstå alle de små detaljer i XML-teknologien. JAXB er tilgængelig i JavaEE 5-kompatible applikationer som en open source-pakke. Pakken gør det muligt at binde data og lette læsning og adgang til XML-dokumenter, der er skrevet i Java-programmeringssproget. XMLBeans er på den anden side et open source-projekt udviklet af BEA-systemer, og disse giver lignende funktionalitet til JAXB, så XML-dokumenter kan fås. En god baggrundskendskab i XML er dog påkrævet, når man beskæftiger sig med XMLBeans. Der er imidlertid forskelle bemærket mellem de to, og de diskuteres nedenfor.

Forskelle

Før udviklingen af ​​JAXB og XMLBeans var den eneste måde, som XML kunne behandles på, ved hjælp af software, der analyserede sprog SAX (Simple API for XML) eller brugen af DOM (Dokumentobjektmodel), begge analysere sprog, der leveres af JAXP (Java API til API-behandling). Udvikleren måtte lave kode, der var rettet mod at påberåbe sig DOM eller SAX gennem JAXP, så koden kunne analysere sproget i XML-dokumentet. Ved scanning brød koden normalt koden i forskellige stykker, så den kunne stilles til rådighed for de målrettede applikationer.

Hovedforskellen mellem JAXB og XMLBeans er den tilgang, som hver især tager i marshalling og udbredelsen af ​​XML-dokumenter. XMLBeans behandler hele XML-dokumentet uden at gennemgå Java-konvertering, da dataintegriteten i XML-dokumentet har vist sig at være tabt. XMLBeans har en markør oprettet, der scanner gennem XML-dokumentet. Med markøren kan ethvert element i dokumentet fås, herunder skemaoplysninger eller kommentarer, da dokumentets troskab er vedligeholdt. XMLBeans giver også mulighed for udførelse af XQuery inden for samme dokument. Yderligere typet adgang er tilvejebragt af XMLBeans med en ret generisk adgangstype, som bliver en afspejling af API. XMLBeans kræver som tidligere nævnt en stor viden om XML og i forlængelse af SAX eller endda DOM.

JAXB er derimod bundet til XML-skemaet. Dette følger et problem, der opstod ved den første JAXB-udgivelse, da den ikke kunne understøtte alle XML-skemafunktioner, der kun kunne understøtte DTD's (Document Type Definitions). Dette indebar faktisk, at den første udgivelse af JAXB ikke kunne tilvejebringe læsbare bindinger.JAXB 2. 0 har gjort udviklingsbehandlingen ret nem, da det giver mulighed for fuld XML-skemaunderstøttelse, Java til XML-skemakortlægning, bærbarhed og skemaevolution. Ydermere har JAXB introduceret den fleksible ophævelse af XML-indhold, der er ugyldigt, og det er ubestemt, om det skal afsluttes uoverensstemmende eller ej.

Sammendrag:

- XMLBeans er bedre, hvis du foretrækker mere robuste XML-funktioner e. g. XQueries og direkte XML-dokumentadgang. Dens brug kommer på bekostning af hukommelsesstyring og ydeevne.

- JAXB foretrækkes, hvis du ønsker højere ydeevne og hukommelsesstyring, selvom det ikke er så grundigt som XMLBeans.

- JAXB bør vælges, hvis du leder efter en simpel XML-dokumentkonvertering.

- Bindende tilpasning sker bedst i JAXB i modsætning til XMLBeans.

- JAXB tilbyder effektiv hukommelsesbrug i modsætning til brugen af ​​XMLBeans, som er en hukommelsesrelevant proces.

- Hvis du ønsker at omdøbe et XML-dokument, er JAXB dit valg som XMLBeans står over for vanskeligheder med at ophæve. Ved bindende skema kan du ansætte brugen af ​​ObjectFactory til oprettelse af objekt og anvende faste metoder til generering af indholdsskabelse.