HtmlAgilityPack ottenere il titolo della pagina e i tag H1

browser html-agility-pack tags vb.net webbrowser-control

Domanda

Ciao a tutti sto cercando di ottenere il titolo della pagina e i tag H1 da una pagina web facendo quanto segue

    doc.LoadHtml(htmlSourceCode)

    txtTitle.Text = doc.GetElementsByTagName("title").InnerText()

    txtH1.Text = doc.GetElementsByTagName("H1").InnerText()

    For Each channel In doc.DocumentNode.SelectNodes(".//meta[@name='description']")
        txtDescription.Text = channel.Attributes("content").Value
    Next

L'unico codice sopra che funziona è la parte txtDescription. Sia il titolo che l'H1 non lo fanno. Che tipo di sintassi devo usare per ottenere questi 2 tag?

Il codice html ha questo aspetto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html;charset=utf-8" /><title>
    The title text is here!
</title><link rel="icon" type="image/x-icon" href="http://www.zzzz.com/favicon.ico" />
....
<div class="main-content">
    <div class="block-info">
        <div class="container">
            <div class="article">
                <h1>
                    This is the H1 tag with the text!</h1>

<p>As the 2nd held tru

Risposta popolare

Puoi utilizzare doc.DocumentNode.SelectSingleNode("//head/title") e doc.DocumentNode.SelectNodes("//body//h1") .

Oppure doc.DocumentNode.Descendants("title").SingleOrDefault() e doc.DocumentNode.Descendants("h1") .



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché