Obtenir des méta-attribut de balise HTML Agility Pack à l'aide de XPATH
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1" /> TITLE>Microsoft Corporation META http-equiv="PHOTOS-Label" content="(PHOTOS-1.1 "http://www.rsac.org/ratingsv01.html" l gen vrai r (n 0 s 0 v 0 l 0))" /> META NAME="KEYWORDS" CONTENT="des produits; en manchettes; téléchargements; news; site Web; nouveautés; solutions; services; logiciels; jeux-concours; l'actualité des entreprises;" /> META NAME="DESCRIPTION" CONTENT="La page d'inscription au site Web de Microsoft. Trouver des logiciels, des solutions, des réponses, du soutien et de news Microsoft." /> META NAME="MME LOCALE" CONTENT="fr-FR" /> META NAME="CATEGORY" CONTENT="page d'accueil" />
J'aimerais savoir ce que XPATH j'aurais besoin pour obtenir la valeur de l'attribut Content de la Catégorie à l'aide de la balise meta HTML Agility Pack. (J'ai enlevé le premier < de chaque ligne dans le code html de sorte qu'il serait post).
OriginalL'auteur Eugene | 2010-07-12
Vous devez vous connecter pour publier un commentaire.
Pour un long temps HtmlAgilityPack n'a pas eu la possibilité d'interroger directement la valeur d'un attribut. Vous avez dû en boucle sur la liste des méta nœuds. Voici un moyen -
Mais on dirait que c'est un expérimentale xpath libération qui vous permettra de le faire.
vous obtiendrez une liste de HtmlAttribute objets.
OriginalL'auteur Rohit Agarwal
Merci pour la réponse rapide Rohit Agarwal (j'ai vu qu'il a répondu quelques heures seulement après que j'ai demandé, mais je n'ai pas pu tester jusqu'à aujourd'hui).
Je l'ai fait à l'origine, de mettre en œuvre vos suggestions, comme suit (c'est dans vb.net)
Dim result As String = webClient.DownloadString(url)
Dim doc As New HtmlDocument()
doc.LoadHtml(result)
Cependant, j'ai trouvé que //meta[@name='titre'] me donnera le même résultat
Dim result As String = webClient.DownloadString(url)
Dim doc As New HtmlDocument()
doc.LoadHtml(result)
title = doc.DocumentNode.SelectNodes("//meta[@name='title']")(0).GetAttributeValue("content", String.Empty)
Merci de me mettre sur la bonne voie=D
Ou mieux encore serait title = doc.DocumentNode.SelectSingleNode("//meta[@name='titre']/@contenu")
Ci-dessus, on title = doc.DocumentNode.SelectSingleNode("//meta[@name='titre']/@contenu").ToString ne marchera pas...
OriginalL'auteur Eugene
Si vous voulez juste la balise meta pour afficher le Titre, description et mots-clés, puis utiliser
Si vous voulez obtenir le
og:tags
à partir du lien ajoutez le code suivant après quec'est une grande expérience... j'aime 🙂 ce code jamais
OriginalL'auteur Sunil Acharya
Ayant pas de contrôle d'Erreur:
Bien sûr, si le Nœud est Nulle, ou si le Contenu de l'Attribut n'est pas présent, cela va créer un problème.
OriginalL'auteur Rusty Nail