2010-12-14 8 views
0

Ich bin neu in Objective C Programmierung, ich brauche Ihre Hilfe, um mein Problem bei der Analyse von XML zu lösen. Ich habe einen WCF Restful-Dienst verwendet, der Dienst gibt eine xml-formatierte Zeichenfolge zurück.Parsing XML mit Objective C

Das XML-Format ist wie folgt:

<Content> 
<Category Id="1" Name="Software"> 
<Category Id="2" Name="Windows 7"/> 
</Category> 
<Category Id="3" Name="Hardware"> 
<Category Id="4" Name="Printers"/> 
</Category> 
</Content> 

Ich versuche, den übergeordneten Knoten in einem Array und Kind-Knoten in einem anderen Array abzurufen.

Wenn ich:

NSArray *nodes=nil; 
nodes=[doc nodesForXPath:@"//Category" error:nil]; 

Alle Knotendetails mit der Knoten-Kategorie in dem Array kommt. Aber der untergeordnete Elementname Kategorie sollte nicht in der übergeordneten Liste enthalten sein.

Bitte schlagen Sie mir vor, wie Sie nur den Elternknoten in einer Sammlung und die Kindknoten in einer anderen Sammlung erhalten.

Antwort

0

können Sie NSXMLParser dafür verwenden. Es ist ein SAX-Parser. Sie können einige weitere Dom und SAX-Parser finden.

+0

Kapil Ich benutze DOM-Parser. CXMLDocument * doc = [[[CXMLDokumentzuweisung] initWithData: XMLDatenoptionen: 0 Fehler: nil] autorelease]; NSArray * Knoten = Null; Knoten = [doc nodesForXPath: @ "// Kategorie" Fehler: Null]; gibt es irgendein Beispiel, das mir helfen wird, die Eltern- und Kindknoten in der unterschiedlichen Ansammlung zu erhalten. – Kalai