使用 xpath 访问节点之前的文本

Access to a text before a node with xpath

我有一个 html 这样的文本

<span class="item-detail">2 <small>hab.</small></span>                                  
<span class="item-detail">64 <small>m²</small></span>
<span class="item-detail">Planta 3ª <small>exterior con ascensor</small></span>

考虑到元素的顺序可能会有所不同,select 64(这是米数)的最佳方法是什么

我仍然不是 100% 确定要求,但试试这个:

//span[small/text()="m²"]/text()[1]

你可以使用下面的 x-path

.//span[@class='item-detail' and child::small[contains(.,'m²')]]/text()[1]