parser parse htmlagilitypack agility c# html-agility-pack

c# - parse - HTML Agility Pack obtiene todos los atributos href de los anclajes en la página



htmlagilitypack selectnodes (1)

Está agregando el objeto HtmlNode a CheckBoxList y no el valor del atributo href . Lo que está viendo es el HtmlNode ToString() , ya que es lo mejor que puede hacer el CheckBoxList para mostrar ese objeto.

En su lugar, puede usar GetAttributeValue(string attribute, string defaultValue) para recuperar el valor del atributo href .

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); }

Estoy tratando de agregar enlaces extraídos de un archivo HTML a un CheckBoxList ( cbl_items ).

Funciona hasta ahora, pero en lugar del enlace, el nombre del elemento se muestra como HtmlAgilityPack.HtmlNode. Intenté usar DocumentElement lugar de Node pero dijo que no existe o similar.

¿Cómo puedo obtener la URL que se mostrará en lugar de HtmlAgilityPack.HtmlNode?

Esto es lo que he intentado hasta ahora:

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); }