Wie würde ich HTMLAgilityPack verwenden, um den gewünschten Wert zu extrahieren?

c# html-agility-pack html-parsing

Frage

Für den gegebenen HTML möchte ich den Wert von id

 <div class="name" id="john-5745844">
 <div class="name" id="james-6940673">

UPDATE Das habe ich gerade

    HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.Load(new StringReader(pageResponse));
    HtmlNode root = htmlDoc.DocumentNode;

    List<string> anchorTags = new List<string>();
    foreach (HtmlNode div in root.SelectNodes("//div[@class='name' and @id]"))
    {
        HtmlAttribute att = div.Attributes["id"];
        Console.WriteLine(att.Value);
    }

Der Fehler, den ich erhalte, ist in der foreach Zeile, die besagt: Object reference not set to an instance of an object. Ich glaube, dass dieser Teil falsch ist "//div[@class='name' and @id]"

Akzeptierte Antwort

Von der Beispielseite geändert:

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm"); //or whatever HTML file you have
foreach(HtmlNode div in doc.DocumentNode.SelectNodes("//div[@class='name' and @id]")
{
   HtmlAttribute att = div["id"];
   //Do something with att.Value
}


Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow