2010-09-15 5 views
0

J'ai un fichier Xml, (en fait des balises HTML), je veux utiliser la méthode SelectNodes pour obtenir n'importe quel nœud/tag contenant un mot-clé. Le nom de noeud peut être n'importe quoi <td> , <div> <p>. Quelle est la XPath pour obtenir un nœud contenant un mot-clé?Recherche avec XPath dans VB.NEt

Répondre

4

Cette expression XPath:

/html/body//*[text()[contains(.,'keyword')]] 

Cela signifie: tout descendant d'élément de body ayant un noeud texte enfant avec la chaîne « mot-clé » contenue dans sa valeur de chaîne.

Modifier: Mieux prédicats parce que probablement il y a plus d'un texte enfant noeud ...

+0

+1 pour une réponse précise. –

+0

Merci pour votre réponse. Cela fonctionne pour certaines pages et certaines autres pages rejettent l'exception. Bien sûr, ils contiennent tous des balises Body et HTML. Avez-vous une idée de ce que peut causer à travers l'exception ?? (Référence d'objet non définie sur une instance d'un objet) – Mazdak

+0

Si vous avez du code qui déclenche une exception, publiez le code minimal et une entrée minimale qui nous permet de reproduire et de comprendre l'exception. Je ne vois pas pourquoi 'pour chaque el As XmlElement dans someXmlDocument.SelectNodes ("/html/body // * [contient (text(), 'mot-clé')] 'lancerait une exception –