Objective C xpath获取多个标签值

时间:2015-01-07 13:41:19

标签: objective-c xpath

我有以下html结构:

<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>

我想选择多个标签值,例如姓名,工作和图片网址。我正在使用此代码来获取这些值

    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];
    }

但我只得到名字,我不想为其他值创建新的xpathString。我想用一个。有可能吗?你能帮助我吗,谢谢。

所以问题是,我可以一次获取另一个元素'内容searchWithXPathQuery吗?

1 个答案:

答案 0 :(得分:1)

如果你有一个支持XPath2的解析器,你可以预测元组的分隔串联,例如:通过

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