/ / Wie funktioniert die Scala XML-Unterstützung? - XML, Scala

Wie funktioniert die Scala XML-Unterstützung? - Xml, Scala

Ich bin sicher, es sollte offensichtlich sein, aber ich konnte findenirgendwelche Hinweise auf meine Frage. Welche zugrunde liegende Technologie verwendet Scala XML? Ist es etwas DOM-ähnliches oder SAX-ähnliches oder StAX-ähnliches? Welche Leistungseinbußen muss ich bei der Verarbeitung großer Dokumente beachten? Ist StAX noch effizienter?

Danke im Voraus.

Antworten:

7 für die Antwort № 1

Große Dokumente (mehrere hundert MB) können mit verarbeitet werden scala.xml.pull.XMLEventReader. Sehen nächtlicher Scaladoc (Angenommen, Sie verwenden 2.8.) Dies ist ein Pull-Parser-Modell wie StAX.

Im Vergleich zu Java macht Scala dies im Allgemeineneigene Sache im Umgang mit XML. Das XML ist unveränderlich. Sie können XML-Literale auch direkt in Ihrem Scala-Code verwenden, wodurch der Code besser lesbar wird.

Als Antwort auf den Kommentar, XML.load Verwendet javax.xml.parsers. {SAXParser, SAXParserFactory} als zugrunde liegende Technologie. Ich gehe auch davon aus, dass die resultierende XML in den Speicher geladen wird.


2 für die Antwort № 2

Scala macht sein eigenes Ding. Die meisten XML-Modelle sind veränderbar und lassen sich nicht gut in Unveränderlichkeit umsetzen (da sie meistens den Überblick über die übergeordneten Modelle behalten).

Hier "s ein Papier darüber.