Ich kann keinen Vergleich dieser Parsing-Technik finden. Welches wird am häufigsten verwendet?iPhone Entwicklung - XMLParser vs libxml2 vs. TouchXML
Grüße. Mustafa
Ich kann keinen Vergleich dieser Parsing-Technik finden. Welches wird am häufigsten verwendet?iPhone Entwicklung - XMLParser vs libxml2 vs. TouchXML
Grüße. Mustafa
NSXMLParser ist ein SAX Parser, es tritt durch das XML-Dokument bedeutet, und informiert Sie (über Delegatmethoden) verschiedene Ereignisse (wie einen XML-Knoten starten, Attribute zu finden, etc). Diese Art der XML-Verarbeitung eignet sich am besten für die Analyse großer Dokumente und wenn Sie nur eine kleine Menge an Daten aus einer großen Datei abrufen müssen.
Im Gegensatz zu SAX ist das DOM Modell, wo die gesamte XML-Struktur in den Speicher (in der Regel mit einem einzigen Aufruf) geparst wird, und dann können Sie das XML-Dokument aus der vorgestellten API frei erkunden. Dies ist im Allgemeinen viel einfacher zu handhaben, da Sie wahlfrei auf das gesamte XML-Dokument zugreifen können.
Also die erste Frage, die man beantworten sollte, ist die Frage SAX vs DOM. Wenn Sie mit großen XML-Dateien (z. B. 10 MB oder größer) arbeiten, möchten Sie vielleicht bei SAX bleiben. Wenn Sie mit kleinen XML-Dateien oder kleinen XML-Fragmenten arbeiten, ist es oft viel einfacher, DOM zu verwenden.
Wenn Sie sich tatsächlich für DOM entscheiden, haben Sie ein paar Optionen.
libxml2 ist eine sehr mächtige API, die in C geschrieben ist. Sie ist hauptsächlich für den DOM-Stil gedacht, hat aber andere Optionen, wenn Sie damit vertraut werden. Aber, wie es in C geschrieben ist, ist es nicht oft attraktiv für diejenigen, die mit Objective-C (Objekte und Autorelease) vertraut sind oder die aus der .NET-Welt kommen. Daher besteht ein Bedürfnis/Wunsch nach einem nativen Objective-C-Wrapper um libxml herum, um es vertrauter zu machen. TouchXML ist ein solcher Wrapper. Es funktioniert gut, wenn Sie nur Lesezugriff auf das XML benötigen. Wenn Sie den XML-Code ändern oder XML-Fragmente/-Dokumente von Grund auf neu erstellen möchten, empfehle ich die Verwendung von KissXML.
Siehe XML Tutorial for iOS: How To Choose The Best XML Parser for Your iPhone Project:
Es gibt viele Optionen, wenn es XML-Parsing auf dem iPhone kommt. Das iPhone SDK wird mit zwei verschiedenen Bibliotheken zur Auswahl angeboten, und es gibt verschiedene beliebte Bibliotheken von Drittanbietern wie TBXML, TouchXML, KissXML, TinyXML und GDataXML. Wie wählt ein Entwickler den besten XML-Parser für sein Projekt?
Ich habe kürzlich einen Blick auf die verschiedenen Optionen geworfen und schließlich das XMLPerformance-Beispiel von Apple erweitert, um jede der oben genannten Bibliotheken zu testen, um zu lernen, wie sie funktionieren und ihre Leistung zu vergleichen. Ich dachte, ich würde das, was ich bisher gelernt habe, an andere weitergeben, die vielleicht nach der besten XML-Bibliothek für ihr iPhone-Projekt suchen.
In diesem XML-Lernprogramm geben wir einen detaillierten Vergleich der Funktionen und der Leistung der beliebtesten iPhone-Bibliotheken, erläutern, wie man zwischen ihnen auswählen kann, und geben ein Beispielprojekt, das das Lesen von XML-Daten zeigt Bibliotheken ...
Hey Robbie, TouchXML unterstützt das Schreiben von XML. – schwa
Hey Robbie, kannst du das bitte untersuchen [Die Deklaration von 'xmlKeepBlanksDefault' muss vorher aus dem Modul 'libxml2.parser' importiert werden. (Https://stackoverflow.com/questions/48501624/declaration-of-xmlkeepblanksdefault- Muss-importiert-aus-Modul-libxml2-pars) –