使用Htmlagility包获取属性值

本文关键字:属性 获取 Htmlagility 包获取 使用 | 更新日期: 2023-09-27 18:25:19

使用Htmlagilitypack,我可以使用以下代码获得一个标签的属性值:

public string parseinput(HtmlDocument HtmlDocument)
{
     try
     {
            return HtmlDocument.DocumentNode.SelectSingleNode("//input[@type=""text""]").Attributes["value"].Value;
     }
     catch (Exception ex)
     {
          string x= ex.ToString();
            return "Error is... '"+x+"'" ;
     }
 }

当它得到第一个值时,它停止执行并给出该值,但我需要得到所有这些文本类型的值作为输出。

为此,我需要做什么?

使用Htmlagility包获取属性值

您需要SelectNodes而不是SelectSingleNode

return String.Join(",", HtmlDocument.DocumentNode.SelectNodes("//input[@type=""text""]")
                         .Select(n=>n.Attributes["value"].Value)

如果您需要输入类型和值

var inputs = doc.DocumentNode.SelectNodes("//input").Select(n => new { 
                 Type = n.Attributes["type"].Value, Value = n.Attributes["value"].Value }).ToList();