obtenir des données avec HTMLagilitypack à partir d'une plage

asp.net c# html html-agility-pack xpath

Question

Je souhaite récupérer des données d'un site Web à l'aide de HtmlAgilityPack. Les données sont stockées dans un objet avec la propriété class="addresscolor__" . Mais le problème est qu’il existe plus d’une classe portant ce nom. Et je veux savoir s'il existe un moyen d'obtenir ces données d'une classe spécifique avec cette valeur, en utilisant "Démarrer avec" ou "Contenu ..." ou quelque chose du genre.

Code HTML :

<p class="addresscolor__">
    <span>Phone:</span>
    33875362 ، 22356341
    <br />
</p>

<p class="addresscolor__">
    <span>mobile:</span>
    09125231827
    <br />
</p>

J'utilise ce code:

<p class="addresscolor__">
    <span>Phone:</span>
    33875362 ، 22356341
    <br />
</p>

<p class="addresscolor__">
    <span>mobile:</span>
    09125231827
    <br />
</p>

L’autre chose est que cette classe contenait une balise span et que, avec ces codes, je saisis l’ensemble des valeurs de la balise <p> , mais je veux un nombre uniquement dans la balise "Mobile".

Réponse acceptée

Pour trouver ce paragraphe:

//p[@class='addresscolor__' and contains(span, 'mobile:')]

Pour limiter à son nœud de texte (le numéro de téléphone):

//p[@class='addresscolor__' and contains(span, 'mobile:')]

Pour dépouiller davantage les espaces:

//p[@class='addresscolor__' and contains(span, 'mobile:')]

Pour faire correspondre les classes HTML, considérez également qu'un nœud peut avoir plusieurs classes et comment le gérer .




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi