0

in my ios app, i am trying to access the images from following XMl file how can i fetch the image in <description> tag?

<channel>
          <title>Gomolo Photo Gallery</title>
          <link>http://www.gomolo.com/</link>
          <description>Movie stills and Celebrity Wallpapers on Gomolo.com</description>
          <language>en</language>
          <lastBuildDate>6/4/2013 10:20:40 AM</lastBuildDate>
          <image>
                 <url>http://img1.gomolo.com/images/logos/gomolo_M.jpg</url>
                 <title>Gomolo Photo Gallery</title>
                 <link>http://www.gomolo.com/</link>
             </image>
          <ttl>360</ttl>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/GomoloPhoto"></atom10:link>
          <feedburner:info uri="gomolophoto"></feedburner:info>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/"></atom10:link>
          <feedburner:emailServiceId>GomoloPhoto</feedburner:emailServiceId>
          <feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname>
          <item>
                 <guid isPermaLink="false">809390</guid>
                 <link>http://feedproxy.google.com/~r/GomoloPhoto/~3/dUyLtllEQUA/photos-rituparna-sengupta-at-the-first-look-launch-of-bengali-movie-a-political-murder</link>
                 <title></title>
                 <description>
Rituparna Sengupta at the first look launch of Bengali movie 'A Political Murder'</description>
                     <a10:updated>6/4/2013 9:55:00 AM</a10:updated>
                     <feedburner:origLink>http://www.gomolo.com/809390/photos-rituparna-sengupta-at-the-first-look-launch-of-bengali-movie-a-political-murder</feedburner:origLink>
                 </item>
              <item>
                     <guid isPermaLink="false">809483</guid>
                     <link>http://feedproxy.google.com/~r/GomoloPhoto/~3/arNMUvINuok/photos-will-smith-jaden-smith-bruce-willis-at-the-premiere-of-hollywood-movie-after-earth</link>
                     <title></title>
                     <description>
Will Smith, Jaden Smith & Bruce Willis at the premiere of Hollywood movie 'After Earth'</description>
                     <a10:updated>6/4/2013 9:53:00 AM</a10:updated>
                     <feedburner:origLink>http://www.gomolo.com/809483/photos-will-smith-jaden-smith-bruce-willis-at-the-premiere-of-hollywood-movie-after-earth</feedburner:origLink>
                 </item>

i am trying this

NSMutableData *data=[[NSMutableData alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://feeds.feedburner.com/GomoloPhoto"]];
GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data options:0 error:nil];

//specify path
NSArray *links=[doc nodesForXPath:@"//channel/item/description" error:nil];

//load xml data
for (GDataXMLElement *link in links ) {
    NSURL *url=[NSURL URLWithString: link.stringValue];
    [array addObject:url];
}
NSLog(@"array %@",[array objectAtIndex:0]);
NSData *data1=[NSData dataWithContentsOfURL:[array objectAtIndex:0]];
_hotPicsImageView1.image=[UIImage imageWithData:data1];
NSData *data2=[NSData dataWithContentsOfURL:[array objectAtIndex:1]];
_hotPicsImageView2.image=[UIImage imageWithData:data2];
NSData *data3=[NSData dataWithContentsOfURL:[array objectAtIndex:2]];
_hotPicsImageView3.image=[UIImage imageWithData:data3];

but for some reason image view changes to blank from my default image, if you check the <description> tag you will find it contains image and some text. how can i access the image file ? can anybody suggest me the correct way to do this?

please check this url in any online xml viewer

Ashish P
  • 1,463
  • 1
  • 20
  • 29

2 Answers2

1

Great tool for testing XPath http://www.xpathtester.com/

you link

maybe this helps you - Parse <img> tag that lies within the <description></description> of an rss2 feed item

NSMutableData *data=[[NSMutableData alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://feeds.feedburner.com/GomoloPhoto"]];
    GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data options:0 error:nil];

    //specify path
    NSArray *links=[doc nodesForXPath:@"//channel/item/description" error:nil];

    NSMutableArray *array = [NSMutableArray array];

    //load xml data
    for (GDataXMLElement *link in links ) {

        NSString *descWithLink = [link stringValue];

        NSMutableArray *substrings = [NSMutableArray array];

        NSScanner *scanner = [NSScanner scannerWithString:descWithLink];
        [scanner scanUpToString:@"src=" intoString:nil]; 
        while(![scanner isAtEnd]) {
            NSString *substring = nil;
            [scanner scanString:@"src" intoString:nil]; 
            if([scanner scanUpToString:@"\" " intoString:&substring]) {
                [substrings addObject:[substring substringFromIndex:2]];
            }
            [scanner scanUpToString:@"src=" intoString:nil]; 
        }

        NSURL *url=[NSURL URLWithString: substrings[0]];
        [array addObject:url];
    }
    NSLog(@"array %@",[array objectAtIndex:0]);
Community
  • 1
  • 1
p.balmasov
  • 357
  • 1
  • 16
0

The image url is in the image->ulr tag

 <image>
<url>http://img1.gomolo.com/images/logos/gomolo_M.jpg</url>

not in <discription> tag

EDIT: There is no valid image url in the xml you shared

Lithu T.V
  • 19,955
  • 12
  • 56
  • 101
  • no thats the logo image for Gomolo, and there is an image in description tag. i checked through online xml viewer – Ashish P Jun 05 '13 at 12:04
  • in the xml provided above " Movie stills and Celebrity Wallpapers on Gomolo.com" is the first description tag and it is *definitely* not an url – Lithu T.V Jun 05 '13 at 12:08
  • you can check this url:- http://feeds.feedburner.com/GomoloPhoto at any online xml viewer. i m struggling at filtering the image from the description tag. – Ashish P Jun 05 '13 at 12:13