Heim  >  Artikel  >  Was sind die Unterschiede zwischen XML-Parsing-Technologien?

Was sind die Unterschiede zwischen XML-Parsing-Technologien?

hzc
hzcOriginal
2020-07-03 16:39:063710Durchsuche

Zu den XML-Parsing-Technologien gehören DOM, SAX und STAX. Der Unterschied besteht darin, dass die Leistung von DOM bei der Verarbeitung großer Dateien erheblich abnimmt. Es liest XML-Dateien sequentiell und erfordert kein Laden die gesamte Datei auf einmal.

Was sind die Unterschiede zwischen XML-Parsing-Technologien?

1.DOM generiert und analysiert XML-Dokumente
definiert eine Reihe von Schnittstellen für die analysierte Version des XML-Dokuments. Der Parser liest das gesamte Dokument ein und erstellt eine speicherresidente Baumstruktur, die dann über die DOM-
-Schnittstelle per Code manipuliert werden kann. Vorteile: Der gesamte Dokumentbaum befindet sich im Speicher und ist einfach zu bedienen. Nachteile: Das Übertragen des gesamten Dokuments in den Speicher (einschließlich nutzloser Knoten) verschwendet Zeit und Platz Außerdem muss mehrfach auf diese Daten zugegriffen werden; die Hardwareressourcen sind ausreichend (Speicher, CPU).
2.SAX generiert und analysiert XML-Dokumente
Um das DOM-Problem zu lösen, erschien SAX. SAX, ereignisgesteuert. Wenn der Parser den Anfang eines Elements, das Ende eines Elements, den Anfang oder das Ende eines Textes, eines Dokuments usw. findet, sendet er Ereignisse, und Programmierer schreiben Code, der auf diese Ereignisse reagiert und die Daten speichert. Vorteile: Es ist nicht erforderlich, das gesamte Dokument im Voraus zu laden, und der SAX-Parsercode ist kleiner als der DOM-Parsercode und eignet sich für Applets und Downloads. Nachteile: Nicht dauerhaft; wenn die Daten nicht gespeichert werden, kann nur der Text aus dem Ereignis abgerufen werden; es ist nicht bekannt, zu welchem ​​Element der Text gehört; XML-Dokument Eine kleine Menge an Inhalten, die selten erneut aufgerufen werden; weniger Maschinenspeicher;
3.DOM4J generiert und analysiert XML-Dokumente
DOM4J ist eine sehr, sehr hervorragende Java XML
API mit hervorragender Leistung, leistungsstarken Funktionen und Es verfügt über äußerst benutzerfreundliche Funktionen und ist außerdem eine Open-Source-Software. Heutzutage sieht man, dass immer mehr Java-Software DOM4J zum Lesen und Schreiben von
XML verwendet. Besonders erwähnenswert ist, dass sogar Suns JAXM auch DOM4J verwendet.
4. JDOM generiert und analysiert XML
Um den Codierungsaufwand für DOM und SAX zu reduzieren, bietet JDOM folgende Vorteile: 20-80-Prinzip, wodurch der Codeumfang erheblich reduziert wird. Verwendungszwecke: Die zu implementierenden Funktionen sind einfach, z. B. Parsen, Erstellen usw., aber auf der untersten Ebene verwendet JDOM immer noch SAX (am häufigsten verwendet), DOM und
Xanan-Dokumente.
Wie viele Formen gibt es in der XML-Dokumentdefinition? Was sind die wesentlichen Unterschiede zwischen ihnen? Welche Möglichkeiten gibt es, XML-Dokumente zu analysieren?
Antwort: a: zwei Formen von DTD-Schemas, b: wesentlicher Unterschied: das Schema selbst ist XML und kann von einem XML-Parser geparst werden (dies ist auch der grundlegende Zweck der Schemaentwicklung aus DTD), c: es gibt DOM , SAX, STAX usw.
DOM: Die Leistung nimmt bei der Verarbeitung großer Dateien erheblich ab. Dieses Problem wird durch die Baumstruktur des DOM verursacht. Diese Struktur beansprucht viel Speicher und das DOM muss das gesamte Dokument in den Speicher laden, bevor es die Datei analysiert. Sie eignet sich für den
wahlfreien Zugriff auf XML
SAX: Nein. Im DOM ist SAX eine ereignisgesteuerte XML-Parsing-Methode. Es liest XML-Dateien nacheinander, ohne die gesamte Datei auf einmal zu laden. Wenn auf etwas wie den Anfang der Datei, das Ende des Dokuments oder den Anfang und das Ende eines Tags gestoßen wird, wird ein
-Ereignis ausgelöst. Der Benutzer verarbeitet die XML-Datei, indem er Verarbeitungscode in sein Rückrufereignis schreibt eignet sich für den sequentiellen Zugriff auf XML

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen XML-Parsing-Technologien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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