Objective C xpath get multiple tag values

I have the following html structure:

<img src="http://mfc.mk.ua/images/team-summer-2014/fedorchuk.jpg.pagespeed.ce.DW4HZMlyDH.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"> </p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/ponomarenko.jpg.pagespeed.ce.UeToKr_U19.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"></p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/stavka.jpg.pagespeed.ce.G_ytrInjvR.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"></p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/smagin.jpg.pagespeed.ce.NwCyiMxVvh.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job">-</p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/tokarskiy.jpg.pagespeed.ce.RzOJcRrYEB.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"></p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/lazutin.jpg.pagespeed.ce.YBG6DtzsRG.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"></p>

<div class="clear"></div>
<div class="separator"></div>
<div class="clear"></div>

<img src="http://mfc.mk.ua/images/team-summer-2014/logush.jpg.pagespeed.ce.Hp2-pqey6s.jpg" alt="" align="left" class="border"/>
<p class="name"> </p>
<p class="job"></p>

      

I want to select a multi-valued tag value such as name, job and image url. I am using this code to get these values

    NSString *coachesXpathQueryString = @"//p[@class='name']";

    NSArray *coachesNodes = [coachesParser searchWithXPathQuery: coachesXpathQueryString];

    NSMutableArray *newCoach = [[NSMutableArray alloc] initWithCapacity: 0];

    for (TFHppleElement *element in coachesNodes)
    {
        Coach *coach = [[Coach alloc] init];

        [newCoach addObject: coach];

        coach.name = [element content];

        _coaches = newCoach;

        [self.tableView reloadData];
    }

      

But im only getting the name, I dont want to create a new xpathString for other values. I want to use it. Is it possible? you can help me, thanks.

So the question is, can I get the content of another element in one go searchWithXPathQuery

?

+3


source to share


1 answer


If you have an XPath2 compatible parser you can design limited concatenation of your tuples for example. on the



//p[@class='name']/concat(./text(), '|', following-sibling::p[@class='job']/text())

      

+1


source







All Articles