18. november 2010 - 08:04Der er
4 kommentarer og 1 løsning
Problem med Html Agility pack og nullReferenceException
Hej eksperten!
jeg har et lille problem jeg har denne kode :
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) { HtmlAttribute href = link.Attributes["href"]; HtmlAttribute title = link.Attributes["title"];
if (String.IsNullOrEmpty(title.Value) == false) { list += href.Value + " | " + title.Value + "<br />"; t++; } else { list += href.Value + "<br />"; }
x++; }
og den virker fint hvis HtmlAttribute title inde holder noget men hvis de enkelte links ikke har en title attribute så får jeg en nullReferenceException, jeg går ud fra at der er fordi at HtmlAttribute title er tom men hvordan kan jeg lave et tjek på denne ??
HtmlAttribute title = link.Attributes["title"]; if (String.IsNullOrEmpty(title.ToString()) == false) { list += href.Value + " | " + title.Value + "<br />"; t++; } else { list += aText + " | " + href.Value + "<br />"; }
og også med :
if (String.IsNullOrEmpty(link.Attributes["title"].ToString()) == false) { HtmlAttribute title = link.Attributes["title"]; list += href.Value + " | " + title.Value + "<br />"; t++; } else { list += aText + " | " + href.Value + "<br />"; }
men i begge tilfælde får jeg "System.NullReferenceException: Object reference not set to an instance of an object" fejlen linjen "if (String.IsNullOrEmpty(link.Attributes["title"].ToString())" ??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.