unable to parse xml using touchXML, nodesForXPath return nothing

FitzW

New Member
I am trying to parse xml using the touchXML library but not getting the results, the code is as below \[code\]NSError *error = nil; CXMLDocument *xmlParser = [[CXMLDocument alloc] initWithXMLString:dataString options:0 error:&error];NSArray *resultNodes = NULL;resultNodes = [xmlParser nodesForXPath:@"//entry" error:&error];for (CXMLElement *resultElement in resultNodes) { NSMutableDictionary *blogItem = [[NSMutableDictionary alloc] init]; int counter; for(counter = 0; counter < [resultElement childCount]; counter++) { [blogItem setObject:[[resultElement childAtIndex:counter] stringValue] forKey:[[resultElement childAtIndex:counter] name]]; } } \[/code\]the method nodesForXPath: doesn't returns anything leaving the resultNodes array with 0 objects. I am getting the proper xml in dataString and the CXMLDocument is also getting prepared properly. I tried debugging it but there is nothing I can see accept the 0 objects in resultNodes, NSError also contains nothing (i.e. no error occurs). the xml file I am trying to parse is as below.\[code\]<feed xmlns:s="http://syndication.nhschoices.nhs.uk/services" xmlns="http://www.w3.org/2005/Atom"><title type="text">...</title><id>...</id><rights type="text">? Crown Copyright 2009</rights><updated>2012-04-27T11:33:02+01:00</updated><category term="Search"/><logo>...</logo><author>...</author><s:SearchCoords>174900,517900</s:SearchCoords><entry> <id> http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/32248 </id> <title type="text">Sayer A</title> <updated>2012-04-27T10:33:02Z</updated> <link rel="self" title="Sayer A" href="http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/32248?apikey=YAHUGHET"/> <link rel="alternate" title="Sayer A" href="http://www.nhs.uk/ServiceDirectories/Pages/GP.aspx?pid=15F37AEF-EC5B-4A90-9E72-269ADEB39629"/> <content type="application/xml"> <s:organisationSummary> <s:name>Sayer A</s:name> <s:address> <s:addressLine>The Richmond Green Medical Cen</s:addressLine> <s:addressLine>19 The Green</s:addressLine> <s:addressLine>Richmond</s:addressLine> <s:addressLine>Surrey</s:addressLine> <s:postcode>TW91PX</s:postcode> </s:address> <s:contact type="General"> <s:telephone>020 83327515</s:telephone> </s:contact> <s:geographicCoordinates> <s:northing>174900</s:northing> <s:easting>517800</s:easting> <s:longitude>-0.305512266736965</s:longitude> <s:latitude>51.4608026642546</s:latitude> </s:geographicCoordinates> <s:Distance>0.1</s:Distance> </s:organisationSummary> </content></entry><entry> <id> http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/33420 </id> <title type="text">Griffiths W</title> <updated>2012-04-27T10:33:02Z</updated> <link rel="self" title="Griffiths W" href="http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/33420?apikey=YAHUGHET"/> <link rel="alternate" title="Griffiths W" href="http://www.nhs.uk/ServiceDirectories/Pages/GP.aspx?pid=EEC98A8A-B888-4F44-A0B6-DC6ABCBF19CE"/> <content type="application/xml"> <s:organisationSummary> <s:name>Griffiths W</s:name> <s:address> <s:addressLine>Paradise Road Surgery</s:addressLine> <s:addressLine>37 Paradise Road</s:addressLine> <s:addressLine>Richmond</s:addressLine> <s:addressLine>Surrey</s:addressLine> <s:postcode>TW91SA</s:postcode> </s:address> <s:contact type="General"> <s:telephone>020 89402423</s:telephone> </s:contact> <s:geographicCoordinates> <s:northing>174800</s:northing> <s:easting>518100</s:easting> <s:longitude>-0.301388352909701</s:longitude> <s:latitude>51.4601120315006</s:latitude> </s:geographicCoordinates> <s:Distance>0.223606797749979</s:Distance> </s:organisationSummary> </content></entry><entry> <id> http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/33035 </id> <title type="text">Dr Da Costa</title> <updated>2012-04-27T10:33:02Z</updated> <link rel="self" title="Dr Da Costa" href="http://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/33035?apikey=YAHUGHET"/> <link rel="alternate" title="Dr Da Costa" href="http://www.nhs.uk/ServiceDirectories/Pages/GP.aspx?pid=EDCE215D-6412-4AAB-AFC4-9F37888D413C"/> <content type="application/xml"> <s:organisationSummary> <s:name>Dr Da Costa</s:name> <s:address> <s:addressLine>The Vineyard Surgery</s:addressLine> <s:addressLine>35 The Vineyard</s:addressLine> <s:addressLine>Richmond</s:addressLine> <s:addressLine>Surrey</s:addressLine> <s:postcode>TW106PP</s:postcode> </s:address> <s:contact type="General"> <s:telephone>020 89480404</s:telephone> </s:contact> <s:geographicCoordinates> <s:northing>174600</s:northing> <s:easting>518100</s:easting> <s:longitude>-0.301044685875553</s:longitude> <s:latitude>51.4581333717098</s:latitude> </s:geographicCoordinates> <s:Distance>0.360555127546399</s:Distance> </s:organisationSummary> </content></entry>\[/code\]
 
Back
Top