Concat text()行相同div的xpath

时间:2017-03-19 22:19:14

标签: xpath

我有这个html块:

enter image description here

<div class="more">
      Les quantités de <b>Manganèse</b> récupérées par les Mineurs sont augmentées de 150 %.
      <div class="more-infos">
                  <p>Quête : Offrande à Icleen</p>
                  <div class="more-infos-content">
                          <img src="http://staticns.ankama.com/dofus/www/game/items/200/39397.w75h75.png">
                        <p class="fleft">
               Récupérer 15 Manganèse et rapporter l'offrande à Théodoran Ax             </p>
                  </div>
        
      </div>
</div>

我想只获得“LesquantitésdeManganèserécupéréesparles Mineurssontaumentmentéesde150%”。

我试过:// * [@ class =“more”] / text()这只给了我第一行“Lesquantitésde”

然后当我尝试:// * [@ class =“more”] / text()[2]它给了我第二行(Manganèse...... [...])

如何在class =“more”和class =“more-infos”之间获得完整的句子? 或者我如何连接text()1 + text()[2]?

2 个答案:

答案 0 :(得分:2)

试试这个表达

//div[@class="more"]/text() | //b/text()

答案 1 :(得分:0)

使用preceding axisstring-join函数的解决方案:

string-join(//div[@class="more"]/div[@class="more-infos"]/preceding::text(), '')

XPath 结果:

 Les quantités de Manganèse récupérées par les Mineurs sont augmentées de 150 %.