Verwenden des Htmlagility-Pakets zum Abrufen von Attributwerten

c# html-agility-pack html-parsing

Frage

Mit Htmlagilitypack kann ich den Attributwert für ein Tag mit dem folgenden Code 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+"'" ;
     }
 }

Wenn es den ersten Wert erhält, stoppt es die Ausführung und gibt diesen Wert, aber ich muss alle diese Texttyp-Werte als Ausgabe erhalten.

Was muss ich dafür tun?

Akzeptierte Antwort

Sie benötigen SelectNodes anstelle von SelectSingleNode

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

Wenn Sie sowohl den Eingabetyp als auch den Wert benötigen

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


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum