2009-09-16 13 views
0

J'ai posté cette question hier:expression régulière pour trouver des éléments de formulaire - C#

yesterday's question

Une de la réponse a été d'utiliser l'expression Reg pour localiser les éléments de formulaire. Le système de clients, renvoie une page HTML, et la page contient les éléments cachés suivants -

<input type="hidden" name="Location" value="sometext.txt"><input type="hidden" name="tableid" value="2"><input type="hidden" name="GroupID" value="1236781329"> 

Comment pourrais-je utiliser reg exp pour localiser les éléments nommés emplacement, tableid, GROUPID et ses valeurs correspondantes.

Existe-t-il un générateur d'expression rge en ligne?

+0

Je le soustrais et continue ma vie! –

+0

Je voudrais aussi, mais je voulais voir s'il y avait un meilleur moyen .. passé beaucoup trop de temps sur des choses inutiles. –

Répondre

3

Plutôt qu'une expression régulière, je vous suggère d'utiliser le HTML agility pack et d'utiliser un DOM de type XML pour accéder à la structure de la page. C'est beaucoup plus fiable que d'utiliser des expressions régulières pour quelque chose comme ça.

+0

Thorain, j'ai utilisé le pack d'agilité HTML et j'ai exécuté l'exemple Html2XML et cela n'a pas donné ce que je cherchais. La réponse du client n'est pas un code HTML bien formaté. –

+0

Le pack d'agilité HTML devrait être capable de gérer du HTML non bien formé, à moins qu'il ne soit vraiment cassé. Cependant, il est susceptible de rendre correctement dans tous les navigateurs courants alors. – Thorarin

+0

Thorarin: a traversé avec le pack d'agilité HTML. sauvé le xml il a généré quand j'ai utilisé le projet de test HTML2XML et chargé le document et essayé de trouver l'élément avec "GetElementByTagNAme (" utableid ")" et cela ne m'a donné aucun résultat. Y at-il un drapeau que je devrais utiliser pour créer le xml avec le pack d'agilité? –

0

quelque chose comme

foreach(Match m in new Regex("<input(.+)name=\"(?<name>.+)\">").Matches()) 
    string name = m.Groups["name"].Value; 
Questions connexes