/html/body/table/tr/td[count(/html/body/table/tr/th[text() = 'HeaderA']/preceding-sibling::*)+1]
4 Réponses :
J'aurais quitté Xpath de côté ... Depuis que je suppose que c'était Dom analysé, j'utiliserais une structure de données cartographique et correspond aux nœuds du côté client ou du côté serveur (JavaScript / Java) manuellement. P >
Il me semble que XPath est en train d'être strié au-delà de sa limite ici. P>
Je pense toujours que XPath n'est pas la meilleure solution ici, le vote ne changera pas mon esprit ... ou les faits ...
Je comprends et apprécions votre commentaire .. Ce que je cherche, c'est la méthode la plus efficace utilisant XPath .. Je peux ensuite effectuer des repères du monde réel dans mon environnement en utilisant toutes les options disponibles (XPATH, Java, JavaScript, etc.) pour vous installer sur Une solution finale .. Merci pour votre commentaire ..
Count () Code> Li>
- Je n'ai jamais entendu parler d'une autre façon de trouver le numéro de nœud ... Li>
Voici le code avec le code XPath relative INTÉGNEMENT () P>
//td[count(../..//th[text()='HeaderC']/preceding-sibling::*)+1]
Excellent .. Je ne cherche pas tellement le moyen le plus court pour écrire l'expression .. mais le plus efficace, afin de minimiser les recherches internes.
Peut-être que vous voulez des axes de position () et XPath? p>
La réponse de Harnen est exactement ce dont vous avez besoin pour une solution pure XPath.
Si vous êtes puis utilisez la touche Cependant, je soupçonne que vous ne pourrez probablement pas voir un mesurable différence de performance sauf si vous devez filtrer sur des colonnes beaucoup (par exemple,