Ich versuche, aus einer HTML-Datei extrahierte Links zu einer CheckBoxList
( cbl_items
) cbl_items
.
Es funktioniert so weit, aber anstelle des Links wird der Name des Elements als HtmlAgilityPack.HtmlNode angezeigt. Ich habe versucht, DocumentElement
anstelle von Node
aber es sagte, dass es nicht existiert oder ähnlich.
Wie kann ich die URL anstelle von HtmlAgilityPack.HtmlNode angezeigt bekommen?
Das habe ich bisher versucht:
HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc = hw.Load(tb_url.Text);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
cbl_items.Items.Add(link);
}
Sie fügen das HtmlNode
Objekt der CheckBoxList
und nicht den Wert des href
Attributs. Was Sie sehen, ist der HtmlNode
ToString()
Wert von ToString()
, da dies das Beste ist, was die CheckBoxList
zum Anzeigen dieses Objekts tun kann.
Stattdessen können Sie GetAttributeValue(string attribute, string defaultValue)
, um den Wert des href
Attributs abzurufen.
HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc = hw.Load(tb_url.Text);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
// Get the value of the HREF attribute
string hrefValue = link.GetAttributeValue( "href", string.Empty );
cbl_items.Items.Add(hrefValue);
}