Ich benutze TouchXml wegen der gegebenen Beschränkungen von NSXML auf dem tatsächlichen iPhone. Wie auch immer, ich bin gerade erst aus mit Objective-C, die ich von einem C# -Hintergrund kommen, und hatte das Gefühl, etwas zu lernen new..anyhow .. hier meine XML-Datei ist ...Den Wert eines Elements in Cocoa mit TouchXML erhalten
<?xml version="1.0" encoding="utf-8"?>
<FundInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/webservices">
<FundsReleaseDate>2009-02-11T00:00:00</FundsReleaseDate>
<FundValue>7800</FundValue>
<FundShares>1000</FundShares>
</FundInfo>
Ich versuche, um 7800 zu bekommen, dh FundValue. Kann mir jemand in die richtige Richtung weisen, ich die TouchXML CXMLDocument verwende und myParser ist vom Typ CXMLDocument habe ich
versuchtNSArray *nodes = [myParser nodesForXPath:@"//FundInfo" error:&err];
Grundsätzlich Knoten wertet auf Null
if ([nodes count] > 0) {
amount = [nodes objectAtIndex:1];
}
UPDATE 1: Ich aufgegeben haben Parsing mit XPath, und habe es mit NSURLRequest ersetzt, so jetzt habe ich die gesamte XML in einer Zeichenfolge, aber meine unhöfliche Einführung in objective-C geht weiter ... Ich habe gerade festgestellt, wie verwöhnt ich geworden bin Regex sind so leicht verfügbar.
UPDATE2: Ich habe herausgefunden, wie RegexKitLite für Regex zu verwenden.
Die Frage ist nun, wie bekomme ich die "7800" von innerhalb FundValue, die jetzt eine große Zeichenfolge ist. Ich habe bestätigt, dass ich es in meinem NSString habe, indem ich es mit NSLog schreibe.
danke für die Antwort, ich bin immer einen Absturz mit der folgenden Ausnahmemeldung:.. [CXMLElement isEqualToString :]: unerkannter Selektor an Instanz gesendet – kd7
Ich wette, das ist alles mit der Tatsache verbunden, dass der Web-Service ich versuche t o consum ist .NET-basiert, aber leider habe ich keine Kontrolle darüber, ich habe gegoogelt und es scheint, dass das xmlns-Attribut die Ursache aller Probleme ist. – kd7
Ich benutze TouchXML nicht in irgendwelchen Projekten, obwohl ich libxml2 benutze (wozu TouchXML ein Wrapper ist), also funktioniert die zugrunde liegende Bibliothek. Es würde mich nicht schockieren, wenn dies kein gut getesteter Codepfad ist, müssen Sie möglicherweise etwas in TouchXML reparieren. –