Frage

Ich kann nicht Vergleich dieser Parsing-Technik finden. Welches ist am häufigsten verwendet?

Viele Grüße. Mustafa

War es hilfreich?

Lösung

NSXMLParser ist ein SAX-Parser , dh es ist das XML-Dokument Schritte durch und informiert Sie ( über Delegatmethoden) verschiedene Ereignisse (wie beispielsweise einen XML-Knoten ausgehend Auffinden Attribute usw.). Diese Art von XML-Verarbeitung ist am besten für große Dokumente Parsen, und wenn Sie benötigen nur eine kleine Menge von Daten aus einer großen Datei abgerufen werden.

Im Gegensatz zu SAX wird das DOM Modell, bei dem die gesamten XML-Struktur in dem Speicher analysiert (in der Regel mit einem einzigen Anruf), und dann können Sie frei das XML-Dokument aus dem präsentierten API erkunden. Dies ist in der Regel viel einfacher zu arbeiten, wie Sie direkten Zugriff auf das gesamte XML-Dokument erhalten.

So ist die erste Frage, die man beantworten soll, ist die SAX vs DOM Frage. Wenn Sie mit großen XML-Dateien (etwa 10 MB oder größer) woring, können Sie mit SAX haften möchten. Wenn Sie mit kleinen XML-Dateien oder kleinen XML-Fragmenten arbeiten, ist es oft viel einfacher DOM zu verwenden.

Wenn in der Tat Sie mit DOM gehen entscheiden, haben Sie ein paar Optionen.

libxml2 ist eine sehr leistungsfähige API in C geschrieben Es ist vor allem für die DOM-Stil verwendet, hat aber andere Möglichkeiten, wenn Sie mit ihm erfahren werden. Aber, wie es in C geschrieben ist, ist es nicht oft attraktiv für diejenigen besser vertraut mit Objective-C (Objekten und Autorelease), oder solche aus der Welt .Net kommen vorbei. Somit besteht ein Bedarf / Wunsch nach einem nativen Objective-C-Wrapper um libxml, um es besser vertraut zu machen. TouchXML ist eine solche Verpackung. Es funktioniert gut, wenn Sie nur den Zugriff auf die XML lesen müssen. Wenn Sie die XML verändern wollen, oder XML-Fragmente / Dokumente von Grund auf neu erstellen, würde ich empfehlen, mit KissXML .

Andere Tipps

Siehe XML-Tutorial für iOS: Wie wählt man den besten XML-Parser für Ihr iPhone Projekt :

  

Es gibt eine Menge von Optionen, wenn es darum geht, auf dem iPhone XML-Parsing. Das iPhone SDK kommt mit zwei verschiedenen Bibliotheken zur Auswahl, und es gibt mehrere beliebte Drittanbieter-Bibliotheken zur Verfügung, wie TBXML, TouchXML, KissXML, TinyXML und GDataXML. Wie ist ein Entwickler des besten XML-Parser für ihr Projekt zu wählen?

     

Ich habe vor kurzem ein Blick auf die verschiedenen Optionen herausnehmen und die XMLPerformance Probe von Apple Verlängerung am Ende jeder der oben genannten Bibliotheken, um zu versuchen, um zu erfahren, wie sie funktionieren und ihre Leistung zu vergleichen. Ich dachte, dass ich teilen, was ich so weit zu anderen gelernt haben, die für die beste XML-Bibliothek für ihre iPhone-Projekt könnte zu suchen.

     

In diesem XML-Tutorial werden wir einen detaillierten Vergleich der Eigenschaften und Leistung der beliebtesten iPhone-Bibliotheken geben, erklären, wie zwischen ihnen zu wählen, und ein Beispielprojekt geben die zeigt, wie XML-Daten zu lesen, jeder der oben genannten Bibliotheken ...

Es ist ein weiterer guter Block-basierte XML-Parsing-Bibliothek - RaptureXML ( Github ) von < a href = "https://stackoverflow.com/users/185387/zablanc"> ZaBlanc , es Objective-C-API auf der libxml2 bieten, ich, es zu versuchen auf jeden Fall empfehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top