Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. // Adriano - 26/10/2010
  2. // Metodo para retornar un XML con XPATH
  3.  
  4. NSString *getStringXPathQuery(NSData *document, NSString *query)
  5. {
  6. xmlXPathContextPtr xpathCtx;
  7. xmlXPathObjectPtr xpathObj;
  8.  
  9. xmlDocPtr doc;
  10.  
  11. /* Load XML document */
  12. doc = htmlReadMemory([document bytes], [document length], "", NULL, HTML_PARSE_NOWARNING | HTML_PARSE_NOERROR);
  13.  
  14. if (doc == NULL)
  15. {
  16. NSLog(@"Unable to parse.");
  17. return nil;
  18. }
  19.  
  20. /* Create xpath evaluation context */
  21. xpathCtx = xmlXPathNewContext(doc);
  22. if(xpathCtx == NULL)
  23. {
  24. NSLog(@"Unable to create XPath context.");
  25. return nil;
  26. }
  27.  
  28. /* Evaluate xpath expression */
  29. xpathObj = xmlXPathEvalExpression((xmlChar *)[query cStringUsingEncoding:NSUTF8StringEncoding], xpathCtx);
  30. if(xpathObj == NULL) {
  31. NSLog(@"Unable to evaluate XPath.");
  32. return nil;
  33. }
  34. xmlNodeSetPtr nodes = xpathObj->nodesetval;
  35. if (!nodes)
  36. {
  37. NSLog(@"Nodes was nil.");
  38. return nil;
  39. }
  40. return nodes->->nodeTab[0]->content;
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement