Verwenden von NSXMLParser zum Parsen von Parent-Child-Elementen mit demselben Namen

8

Hat jemand eine Idee, wie man die folgende XML mit der ereignisgesteuerten NSXMLParser-Klasse parsen kann?

%Vor%

Ich möchte alle drei Namen aus dieser XML-Datei sammeln, ist es möglich, oder muss ich zu Tree-basierten Parsing wechseln?

    
Hoang Pham 05.01.2010, 10:48
quelle

3 Antworten

31

Dies ist ein häufiges Problem bei Parsern wie diesem, von "type SAX", wo Sie manuell die aktuelle Tiefe der XML-Struktur, in der Sie sich befinden, verfolgen müssen. Das Problem ist wie immer das Laden der Der gesamte Baum in einer DOM-Struktur im Speicher kann unmöglich sein, abhängig von der Größe der Daten, die Sie bearbeiten möchten.

Der folgende Code zeigt eine Klasse, die diesen Job ausführt:

%Vor%

Dies ist die Implementierung:

%Vor%

Dies ist das Ergebnis der Ausführung eines Befehlszeilentools, das die obige Methode "start" auslöst:

%Vor%     
Adrian Kosmaczewski 05.01.2010, 11:20
quelle
5
%Vor%

gibt Ihnen die Verschachtelungsebene von NSXMLParser

    
yasirmturk 15.02.2012 11:00
quelle
-1

Ein sehr einfacher Weg, es zu lösen als die akzeptierte Antwort, für kurze XML-Dateien:

XML-Beispiel:

%Vor%

Implementieren Sie einen Zähler:

%Vor%

Wie kann ich wissen, dass die Hexen-Nummer ein Hexenknoten ist? Indem Sie das Protokoll sehen. Es wird ungefähr so ​​aussehen:

%Vor%

Das Protokoll zeigt Ihnen, welche Nummer jeder Knoten ist.

    
brbgyn 05.08.2015 02:47
quelle