XPath : un outil puissant pour récupérer des éléments basés sur du texte interne
La localisation d'éléments spécifiques dans une page HTML peut être une tâche cruciale lorsque vous travaillez avec du contenu Web. Un scénario courant consiste à identifier les éléments en fonction du texte qu’ils contiennent. Pour y parvenir, XPath, un langage puissant conçu pour naviguer dans les documents XML, propose une solution efficace.
Trouver un élément avec un texte intérieur exact
Considérons un extrait HTML avec un balise contenant le texte "SearchingText":
<a ...>SearchingText</a>
Pour récupérer cet élément à l'aide de XPath, nous pouvons exploiter la requête suivante :
//a[text()='SearchingText']
Cette expression parcourt l'arborescence du document, localisant tout < ;a> balise qui contient le texte exact « SearchingText ». La fonction text() entre crochets compare le contenu textuel de l'élément à la chaîne spécifiée.
Gestion des correspondances de texte partielles
Dans certains cas, vous devrez peut-être localiser les éléments qui contiennent des correspondances partielles d'un texte donné. Par exemple, pour rechercher des éléments contenant le texte « Recherche » :
//a[contains(text(),'Searching')]
Ici, la fonction contain() évalue si le contenu textuel de l'élément inclut la sous-chaîne fournie. Cette approche permet une recherche plus large, en capturant des éléments pouvant contenir du texte supplémentaire.
Application de XPath en JavaScript
L'intégration de XPath avec JavaScript offre une approche pratique pour manipuler dynamiquement du HTML documents. Pour démontrer cela, considérons le code JavaScript suivant :
var xpath = "//a[text()='SearchingText']"; var matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
Ce code attribue la requête XPath à la variable XPath, puis utilise la méthode document.evaluate() pour exécuter la requête sur l'objet document. Le résultat est stocké dans la variable matchingElement, donnant accès à l'élément avec le texte intérieur spécifié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!