I want to search by a number such as '022222', and it should return the value of the corresponding h2 tag. Any thoughts on how this would be done?
The HTML document can be found at http://pastie.org/1211369
Pour commencer, le texte à l'provided link n'est pas un XML bien formé ou d'un document XHtml et ne peut pas être directement analysé avec XPath.
Par conséquent je l'ai enveloppé dans un élément <html>
.
Sur ce document XML une des expressions XPath qui sélectionne exactement le noeud texte recherché est:
/*/div[div/ul/li = '022222']/div[@class='content']/h2/text()
Entre autres avantages, cette expression XPath n'utilise aucun axe inverse et est donc plus lisible .
Le document XML complet sur lequel cette expression XPath est évaluée est la suivante:
<html>
<div class="item">
<div class="content"><h2>Item 1</h2></div>
<div class="phone">
<ul class="phone-single">
<li></li>
</ul>
</div>
</div>
<div class="item">
<div class="content"><h2>Item 2</h2></div>
<div class="phone">
<ul class="phone-multiple">
<li>022222</li>
<li>033333</li>
</ul>
</div>
</div>
<div class="item">
<div class="content"><h2>Item 3</h2></div>
<div class="phone">
<ul class="phone-single">
<li>02345 678901</li>
</ul>
</div>
</div>
<div class="item">
<div class="content"><h2>Item 4</h2></div>
<div class="phone">
<ul class="phone-multiple">
<li>099999999</li>
<li>088888888</li>
</ul>
</div>
</div>
</html>
Donc, dans ce cas, vous voulez obtenir 'Point 2', non? – Gumbo
Exactement, désolé aurait dû donner un exemple dans la question – RichW
Bonne question, +1. Voir ma réponse pour une expression XPath plus lisible et maintenable qui sélectionne le nœud désiré. –