Heim Web-Frontend js-Tutorial Implementierungsschritte für die Verwendung von Oxm zum Zuordnen von XML

Implementierungsschritte für die Verwendung von Oxm zum Zuordnen von XML

Apr 13, 2018 pm 01:51 PM
使用 实现 映射

Dieses Mal werde ich Ihnen die Implementierungsschritte für die Verwendung von Oxm zum Zuordnen von XML vorstellen. Was sind die Vorsichtsmaßnahmen für die Verwendung von Oxm zum Zuordnen von XML? .

XML-Parsing-Technologie verstehen

XML-bezogene Konzepte

(1) DTD: XML-Syntaxregeln sind der Überprüfungsmechanismus von XML-Dateien. Sie können XML-Dokumente und DTD-Dateien vergleichen, um festzustellen, ob das Dokument den Spezifikationen entspricht und ob die Elemente und Tags korrekt verwendet werden.

(2) XML ist die Basis von SOA.

XML-Verarbeitungstechnologie

(1) Um XML verwenden zu können, müssen wir über einen XML-Prozessor oder eine XML-API auf Daten zugreifen. Derzeit bietet JAXP zwei Methoden zur Verarbeitung von XML: DOM und SAX.

①DOM: DOM greift durch Programmierung auf die Daten und Struktur im XML-Dokument zu, basierend auf der Baumstruktur des XML-Dokuments im Speicher. Der Nachteil besteht darin, dass das Laden des gesamten XML-Dokuments in den Speicher einen hohen Overhead erfordert.

②SAX: Es ist ereignisgesteuert und verwendet ein Parsing-Segment, um das Problem zu lösen, dass DOM großen Speicher belegt. Sein Nachteil besteht jedoch darin, dass es nicht zufällig auf Dokumente zugreifen kann.

(2) Um die Probleme von DOM und SAX zu lösen, wurde eine Stream-basierte StreamAPI für XML (kurz StAX) hinzugefügt, die ebenfalls ereignisgesteuert ist.

(3) DOM, SAX und StAX verarbeiten alle XML basierend auf der Dokumentstruktur, aber viele Anwendungen konzentrieren sich nur auf die Dokumentdaten selbst, sodass die XML-Datenbindungstechnologie ins Leben gerufen wurde.

Datenbindung: bezieht sich auf den Prozess des Extrahierens von Daten aus Speichermedien (XML-Dokumente und Datenbanken) und der Darstellung der Daten durch Programme, d. h. der Bindung der Daten an eine Art Speicherstruktur, die die virtuelle Maschine verstehen und bedienen kann.

XML-Bindungsframeworks: Castor, JAXB, JiBX, Quick, Zeus usw.

XStream-Übersicht

(1) XStream ist ein einfaches und benutzerfreundliches Open-Source-Framework zum Serialisieren von Java-Objekten in XML oder zum Deserialisieren von XML in Java-Objekten.

(2) Zusammensetzung der XStream-Architektur:

Konverter: Wenn XStream auf ein Objekt trifft, das konvertiert werden muss, delegiert es an die entsprechende Konverterimplementierung.

IO (Eingabe/Ausgabe): XStream wird von den zugrunde liegenden XML-Daten über HierarchicalStreamWriter und HierarchicalStreamReader abstrahiert, die für Serialisierungs- bzw. Deserialisierungsvorgänge verwendet werden.

Kontext: Wenn XStream Objekte serialisiert und deserialisiert, erstellt es zwei Klassen, MarshallingContext und UnmarshallingContext, und der Tower verarbeitet die Daten und delegiert sie an den entsprechenden Konverter.

Fassade (einheitlicher Eingang): Integrieren Sie die oben genannten drei Punkte und öffnen Sie sie über eine einheitliche Schnittstelle für Benutzer.

Schnellstart

(1) Erstellen Sie einen XStream und geben Sie den XML-Parser

an XStreamxstream=newXStream(newDomDriver());

Wenn Sie keinen Parser angeben, verwendet XStream standardmäßig den XPP-Parser (XMLPullParser), einen Hochgeschwindigkeitsparser.

(2) Beispiele sind wie folgt:

Verwenden Sie den XStream-Alias ​​

(1) Im obigen Beispiel entspricht der vollständige Klassenname des Java-Objekts dem Stammelement der XML-Datei und der Attributname entspricht dem Knotenelement der XML-Datei. In tatsächlichen Situationen entsprechen jedoch beide dem Java-Objekt und das XML-Objekt verfügt möglicherweise bereits über definierte Namen. Zu diesem Zeitpunkt müssen Sie die Alias-Zuordnung verwenden.

XStream verfügt über drei Alias-Konfigurationen:

Kategoriename: Alias ​​verwenden (Stringname, Classtype).

Alias ​​für Klassenmitglieder: Verwenden Sie aliasField(Stringalias,ClassdefinedIn,StringfieldName).

Klassenmitglieder werden als Attributaliase verwendet: use aliasAttribute(ClassdefinedIn,StringattributeName,Stringalias). Es ist sinnlos, sie allein zu benennen. Sie müssen auch auf eine bestimmte Klasse durch useAttributeFor(ClassdefinedIn,StringfieldName) angewendet werden.

XStream-Konverter

Während des Entwicklungsprozesses müssen Sie manchmal einige benutzerdefinierte Typen konvertieren. Implementieren Sie einfach die Converter-Schnittstelle und rufen Sie die Methode registerConverter() von XStream auf, um den Konverter zu registrieren.

XStream-Anmerkungen

XStreamxstream=newXStream(newDomDriver());

Es gibt zwei Möglichkeiten, Objekte zu laden:

①Methode 1:

xstream.processAnnotations(AAA.class);

xstream.processAnnotations(BBB.class);

②Methode 2:

xstream.autodetectAnnotations(true);//Automatisch die Annotation Bean laden und auch das annotierte Objekt zwischenspeichern

Streaming-Objekt

(1) XStream bietet alternative Implementierungen für ObjectInputStream und ObjectOutputStream und ermöglicht XML-Serialisierungs- oder Deserialisierungsvorgänge in Form von Objektströmen. Das vorherige ist das vom DOM-basierten XML-Parser gelesene XML. Hier sollten wir natürlich die Stream-Methode zum Parsen verwenden.

Der Unterschied zwischen der Verwendung von

PrettyWriter und CompactWriter besteht darin, dass PrettyWriter das generierte XML formatiert, während CompactWriter das generierte XML komprimiert.

Persistenz-API

(1) XStream bietet eine einfache Möglichkeit, Objekte in einer Sammlung in Dateien beizubehalten, z. B.: XmlArrayList, XmlSet, XmlMap usw.

(2) Bevor Sie eine Sammlung erstellen, müssen Sie außerdem eine Persistenzstrategie PersistenceStrategy angeben.

Verarbeitung von JSON

(1) XML hat in WebService eine unerschütterliche Stellung, aber in den meisten Webanwendungen wird immer noch leichtgewichtiges JSON als Datenaustauschformat verwendet.

(2) XStream stellt JettisonMappedXmlDriver und JsonHierarchicalStreamDriver bereit, um die Konvertierung von Java-Objekten und JSON abzuschließen.

(3) Der Unterschied zwischen JettisonMappedXmlDriver und JsonHierarchicalStreamDriver:

①JettisonMappedXmlDriver generiert komprimiertes JSON, während JsonHierarchicalStreamDriver formatiertes JSON generiert.

②Um JSON in ein Objekt zu konvertieren, können Sie nur JettisonMappedXmlDriver verwenden.

Integration mit SpringOXM

SpringOXM-Übersicht

SpringOXM hat Verbesserungen am Mainstream-O/ vorgenommen XMapping-Framework Marshaller und Unmarshaller sind eine einheitliche Abstraktion und Kapselung und die beiden Kernschnittstellen von SpringOXM. Marshaller wird zum Konvertieren von Objekten in XML verwendet, und Unmarshaller wird zum Konvertieren von XML in Objekte verwendet.

Zusammenfassung

(1) Die XML-Datenbindung von Java-Anwendungen kann in zwei Methoden zusammengefasst werden:

Generieren Sie Java-Sprachcode (wie JAXB, XMLBeans, Castor) basierend auf XML-Dokumenten.

Verwenden Sie eine Form der Zuordnungsbindungsmethode, die darin besteht, festzulegen, wie Java-Klassen mit XML verknüpft werden (z. B. XStream, Castor, JiBX).

(2) Vergleich von 2 Möglichkeiten:

Bei einer stabilen Dokumentstruktur, die durch ein Schema oder eine DTD definiert wird, die für die Anforderungen der Anwendung geeignet ist, ist ein Codegenerierungsansatz möglicherweise die beste Wahl.

Wenn Sie eine vorhandene Java-Klasse verwenden oder anstelle einer XML-Struktur eine Struktur der Klasse verwenden möchten, die die Verwendung der Daten durch die Anwendung widerspiegelt, ist die Zuordnungsmethode die beste Wahl.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Swiper implementiert die Bildrotation für mobile Werbung

Wie vue+swiper das Seitenleistenmenü implementiert

Das obige ist der detaillierte Inhalt vonImplementierungsschritte für die Verwendung von Oxm zum Zuordnen von XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualität bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu ermöglichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne übermäßige Dekoration Es unterstützt außerdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Außerdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautstärke Passen Sie die Lautstärke entsprechend Ihrem Hörzustand an, um Hörschäden durch zu hohe Lautstärke zu vermeiden. Als nächstes lass mich dir helfen

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zunächst können Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach „NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, öffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem täglichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten Übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer großen Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik hören möchten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch möglicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation Wählen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zunächst die benutzerdefinierte Installationsoption aus.

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge Mar 20, 2024 pm 04:54 PM

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

Erfahren Sie, wie Sie die neuen erweiterten Funktionen von iOS 17.4 „Schutz vor gestohlenen Geräten' nutzen. Erfahren Sie, wie Sie die neuen erweiterten Funktionen von iOS 17.4 „Schutz vor gestohlenen Geräten' nutzen. Mar 10, 2024 pm 04:34 PM

Apple hat am Dienstag das iOS 17.4-Update veröffentlicht, das eine Reihe neuer Funktionen und Korrekturen für iPhones bringt. Das Update enthält neue Emojis und EU-Nutzer können diese auch aus anderen App-Stores herunterladen. Darüber hinaus stärkt das Update auch die Kontrolle der iPhone-Sicherheit und führt weitere Einstellungsoptionen für den „Schutz gestohlener Geräte“ ein, um Benutzern mehr Auswahl und Schutz zu bieten. „iOS17.3 führt zum ersten Mal die Funktion „Schutz vor gestohlenen Geräten“ ein, die den vertraulichen Informationen der Benutzer zusätzliche Sicherheit verleiht. Wenn der Benutzer nicht zu Hause oder an anderen vertrauten Orten ist, erfordert diese Funktion, dass der Benutzer zum ersten Mal biometrische Informationen eingibt Zeit und nach einer Stunde müssen Sie Informationen erneut eingeben, um auf bestimmte Daten zuzugreifen und diese zu ändern, z. B. um Ihr Apple-ID-Passwort zu ändern oder den Schutz vor gestohlenen Geräten zu deaktivieren.

See all articles