Ce code est une lib qui permet d'accéder la structure d'une page HTML
Sa tolérance sur la qualité du code HTML est certes inférieur aux navigateurs mais suffisent pour la plupart des applis ou je l'ai utilisé
Source / Exemple :
(tout est dans le zip)
Conclusion :
Bientot quand le html sera bien formaté, on pourra utiliser un parseur xml mais pour l'instant... n'hésitez par à le tester et a me faire parvenir l'url des pages qui mettre ce code a genoux :(
9 janv. 2007 à 19:26
Quelques remarques en vrac après une RAPIDE lecture:
- Dans la classe MainClass, l'url de teste (google) n'est pas valide.
- Pourquoi utiliser sans cesse le nom des classes (System.String, System.Boolean) plutôt que leurs mots clefs associés (string, bool) ?
- La méthode GetHtmlChars de HtmlChars retourne toujours null !?
- Détail: pour les types enum, on met en principe des MAJ
- Le code peut être simplifier à certains endroits, exemple:
if (iChars[pChar] == '"')
{
bIsInString = !bIsInString;
iAttributeLength++;
}
else
{
iAttributeLength++;
}
devient
if (iChars[pChar] == '"') bIsInString = !bIsInString;
iAttributeLength++;
autres exemple avec oStackNode.Add(oNode); (peut-être y'en a encore d'autres)
- Les méthodes GetImageReferences, GetScriptReferences, GetLinkTagReferences et GetAnchorReferences sont très redondantes!
- Debug.WriteLine("VAL: '" + sTagValue + "'"); => Debug.WriteLine("VAL: '{0}'", sTagValue);
Voilà pour un début.
Sinon le code à l'air plutôt structuré...
9 janv. 2007 à 19:45
ce code est ressorti d'une vielle valise!
une petite remise au propre s'impose...
merci pour tes remarques Bidou
(to be continued...)
9 janv. 2007 à 21:01
if(String.IsNullOrEmpty(a)) , ce qui est quand même plus jolie à mon goût.
Autrement ce code peut être pratique dans une appli.
10 janv. 2007 à 12:27
13 mars 2009 à 00:55
C'est ce que je cherchais
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.