XML besser als JSON? 5 GRÜNDE wann XML statt JSON einsetzen sollte

preview_player
Показать описание
JSON ist aus der Webentwicklung nicht wegzudenken, allerdings sollte man nicht immer JSON verwenden denn manchmal ist XML ein besseres Format für den Austausch von Daten.

In diesem Video liste ich 5 Gründe auf wann ein XML die bessere Wahl ist.
Kanalmitglied werden und exklusive Vorteile erhalten:

🌐 Sonstiges
***************************
Weitere Themenvorschläge und/oder Kooperationen in die Kommentare.
#XML #JSON #PHP

🤑 Affiliate
***************************

* Hierbei handelt es sich um ein Affiliate-Link, es entstehen keine weiteren Kosten beim Einkauf eines Produkts über diesen Link, du unterstützt aber meinen Kanal direkt.

🕛 Zeitstempel
***************************
Рекомендации по теме
Комментарии
Автор

HAHA .. Du bist so genial. Gleich in der EInleitung habe ich mich wiedergefunden. Schepp und Krumm - aber ich wollte diese verdammte Schraube da in der Wand haben (Hatte gerade keinen Bohrer hier ;)). Steckt jetzt komplett verbogen seit über einem halben Jahr in der Wand - und hält! ;)

CMOS_RESET
Автор

danke für das video.
eine frage, ich suche einen ausbildungsplatz zum fa anwendungsentwickler und hab gesehen, dass viele agenturen in meiner umgebung die azubis während ihrer ausbildung zum typo3 entwickeln ausbilden. sollte man um typo3 zu entwickeln, erst einmal die grund lagen der web entwicklung kennenlernen? ich finde typo3 ein ziemlich kompliziertes cms

dermenschistweilesglaubtda
Автор

Hey, es ist ein sehr interessantes Video und ich wollte gerne auf eine Punkte (vielleicht auch etwas kritisch) zu sprechen kommen :)

Zum ersten, würde ich gerne wissen, warum nur JSON in einer DB gespeichert werden sollte, bzw. was damit konkret gemeint ist. Denn theoretisch kannst du auch XML einfach in die Datenbank packen. Deswegen würde ich das nicht als Nachteil für JSON werten.

Zum zweiten muss man sagen, dass PHP das ganze an sich nicht direkt nativ mitliefert, sondern ebenfalls eine Library (auf anderer Ebene) mitinstalliert werden muss. Außerdem ist Swagger/Open API immer mehr vertreten, was genauso gut zur Validierung von JSON dienen kann und womit sogar noch einen Schritt weiter gegangen werden kann, undzwar Request Validierung. Also eher ein Vorteil für JSON/Open API.

Gibt es bezüglich der Performance vielleicht Vergleichswerte, wie viel schneller die Verarbeitung von XML stattfindet? Wäre auf jeden Fall interessant zu sehen und wie sich dies mit Zunahme der Datengrösse skaliert. Außerdem finde ich das Beispiel mit Doctrine Models (was für mich repository und findAllProducts impliziert haben) hier sehr ungünstig gewählt, da immer noch Proxy-Klassen drunter liegen und es bei beiden nicht einfach ist, das Objekt in das jeweilige Format zu serialisieren. Außerdem kann JSON auch wunderbar mit stdClass umgehen, was bedeutet, dass man nicht zwangsweise ein Array aufbauen muss, es ist aber der durchaus üblichere Weg.
Der Weg über ein Template zu gehen bei XML ist erstmal keine doofe Idee, allerdings kannst du diesen Weg ebenfalls für JSON nutzen.
Was ich hier bei dem Beispiel mit dem XML Writer auch unpassend finde ist die Nutzung einer nicht näher definierten „asXml“ Funktion, wäre interessant was innerhalb dieser noch für Sachen passieren.

Auch interessant wäre zu wissen, wie man ein File Segmentweise Parsen würde, weil du bei Minute 5:50 gesagt hast, dass man eine große Datei nach und nach Auslesen kann und dann verarbeitet. Dies würde hier evtl. den Geschwindigkeitsvorteil von XML beim Verarbeiten wieder zu Nichte machen.
Es gibt als Gegenspieler zu XPath auch JSONPath, wenn das wirklich benötigt wird, aber vielleicht auch nicht ganz so performant. Den Punkt würde ich deswegen XML gönnen :)

Bei dem Escaping von JSON habe ich Tatsache noch nie Probleme gehabt, tatsächlich finde ich hier das Arbeiten mit XML wesentlich unangenehmer, da du meistens explizit festlegen musst, dass du als value cdata nutzen möchtest. Das macht json_encode automatisch für dich :)

Sorry für den vielen Text, ich bin bereit für Gegenstimmen! ;)

tarikweiss
Автор

XSD und XSL sind einfach klasse. Ich denke genau wie du.

karlheinzneugebauer
Автор

Ich versuche mir gerade eine Library zu schreiben mit dessen Hilfe ich in meinem Spiel erzeugte Objekte speichern kann. Allerdings habe ich absolut keine Ahnung welches Datenformat dafür am besten geeignet wäre. Es müssen sehr viele Parameter pro Objekt gespeichert werden und das bei nicht wenig Objekten. Zudem müssen diese Dateien dann auch noch verschlüsselt werden, damit die Spieler nicht einfach im Ordner neue Objekte anlegen oder vorhandene Objekte verändern können. (Das ganze ist für eine Offline-Speicherung weswegen ich keine Datenbank verwenden möchte/kann). Kann mir da vielleicht jemand weiterhelfen und mir einen Tipp geben welches Datenformat am besten dafür geeignet sein könnte?

J-
Автор

XSL Transformation ist auch ein großer Pluspunkt für XML. Verwendest du sowas noch? Tolles Video weiter so.

hd_office
Автор

Ich experimentiere schon wieder. Dieses Mal mit dynamischen Loops, also Loops deren Grundlagen sich während des Loops ändern kann. zB wegen Einschüben. Der xml-Pointer hört sich interessant an.

MeinDeutschkurs
Автор

XML is für mich ein Relikt aus der Steinzeit^^

Meinungsmacher
Автор

Interessante Punkte. Irgendwie ist mir XML immer zu fummelig. Wobei wenn man es öfter nutzt, mit der Häufigkeit auch die Gewohnheit und Normalität käme. Danke fürs Video.

sinorteka
Автор

Sehe ich tatsächlich vollkommen anders. Da du primär über APIs redest geht es doch hauptsächlich um eine Schnittstelle, welche reine Daten übertragen soll - hierfür ist JSON explizit gedacht. XML hat sicherlich eine höhere Mächtigkeit, wie du es ja beschreibst, jedoch sind APIs primär nicht für diese Funktionalitäten gedacht.
Im allgemeinen finde ich es auch sinnvoller, wenn der angefragte Content-Type auch geliefert wird. Sprich, ob ich als Client der API mit JSON, XML oder anderen Formaten arbeiten möchte, sollte bei mir liegen.
Deine Argumentationen kann ich wie gesagt vollständig verstehen - sehe ich aber in der modernen Web-Entwicklung immer mehr die Anforderung (was ich persönlich gut heiße), dass Schnittstellen-Dokumente wie eine Swagger/OpenAPI bereitgestellt werden sollen. Aus diesen Dokumenten ist es ja möglich automatisiert die entsprechenden Models generieren zu lassen für jede Sprache die man benötigt - oder auch mit zum Beispiel Mustache-Templates einfach erweiterbar.
Alles in allem würde ich sagen, kann ich verstehen, dass man in bestimmten Anwendungsbereichen auf XML setzen möchte, um ein Datenformat zu haben, welches vielseitige Möglichkeiten besitzt - andererseits haben wir im Web hauptsächlich die Aufgabe, reine Daten zwischen Systemen zu übertragen - hier benötigt es nicht den Overhead, den XML mit sich bringt.
Und abschließend wollte ich noch da lassen, dass du für XML die Mächtigkeit von XPath erwähnt hast - soweit auch korrekt, jedoch gibt es auch Programme für JSON-Dokumente wie jq auf der Kommandozeile - auch ein Tool, welches C geschrieben ist ;-)

diggerdadon
Автор

Das sind zwar gute Gründe für XML, trotzdem bevorzuge ich weiterhin für REST APIs mein Lieblingsformat YAML. Change my mind ;)

theoriginyt
Автор

Achja - nochwas vergessen. Solltest Du mal ein Buch mit all Deinen Tipps schreiben - dann denke bitte an mich. Ich hätte bitte gerne das erste Exemplar - signiert und mit Herzerl ;)

CMOS_RESET
Автор

Ich finde das ist nicht wirklich hilfreich für mich. Habe mich Jahrelang mit XML herumgeschlagen als ich in der EDI tätig war. Niemand gab mir eine gültes XSD. Ich fand das alles scheisse. PHP kenne ich nicht. Was ich davon gehöt habe, macht mir keine Lust das auch nur aus der Ferne anzuschauen. Ich glaube für die Probleme, die du ansprichst, ist GRPC die Zukunft.

marcelfischer