Objective C xpath获取多个标签值
Objective C xpath get multiple tags value
我有以下 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>
我想要 select 多个标签值,例如姓名、工作和图像 url。我正在使用此代码获取这些值
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
?
如果您有支持 XPath2 的解析器,则可以投影元组的分隔连接,例如通过
//p[@class='name']/concat(./text(), '|', following-sibling::p[@class='job']/text())
我有以下 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>
我想要 select 多个标签值,例如姓名、工作和图像 url。我正在使用此代码获取这些值
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
?
如果您有支持 XPath2 的解析器,则可以投影元组的分隔连接,例如通过
//p[@class='name']/concat(./text(), '|', following-sibling::p[@class='job']/text())