J'ai déjà utilisé le pack d'agilité html et j'ai eu de bons résultats avec quelques essais et erreurs. J'essaie actuellement de l'utiliser pour retourner un ensemble de nœuds avec un xpath obtenu en cliquant-droit sur "Copier XPath" dans Firefox. J'ai fait quelques recherches, et je vois que le navigateur ajoutera souvent "tbody" pour les tags de table. Je l'ai essayé en enlevant ceci sans aucune chance. Voici le XPath m'a été donnée par Firefox:C#/Html Agility pack error "La valeur ne peut pas être nulle Nom du paramètre: Source."
/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]
Son utilisation AS- est-lance l'erreur: "valeur ne peut pas être null Nom du paramètre:. La source."
Cela se produit en ligne:
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
Je vais continuer à lire, en attendant, si c'est une solution facile à tout le monde, j'apprécierais un conseil.
Mise à jour: Voici le code actuel:
protected override List<IDataPoint> ReturnDataPointsFromIndividualAddressString(string AddressString)
{
List<IDataPoint> earningsAnnouncements = new List<IDataPoint>(); //Not used, yet..
HtmlWeb hwObject = new HtmlWeb();
HtmlDocument htmlDoc = hwObject.Load(AddressString);
if (htmlDoc.DocumentNode != null)
{
List<HtmlNode> nodeList = new List<HtmlNode>();
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
}
}
Pouvez-vous poster un code qui provoque cette erreur? – Alex
Bien sûr, je mettrai à jour le message original. – StatsViaCsh