2009-11-03 6 views
0

J'ai un problème dont j'ai besoin résolu en utilisant des expressions Regex; cela implique de prendre un sélecteur CSS et de compiler une regex qui correspond à la représentation sous forme de chaîne des nœuds dans un document HTML. Le but est d'éviter d'analyser le code HTML en XML, puis de faire des requêtes Xpath ou DOM pour appliquer des attributs de style.Un générateur Regex pour les requêtes CSS

Est-ce que quelqu'un connaît un projet qui implémente déjà quelque chose comme ça dans n'importe quelle langue? La plateforme cible serait .NET 3.5.

Répondre

3
+0

Eh bien, si la performance n'est pas trop mauvaise, ce serait idéal pour le travail. Merci! –

0

Les expressions régulières semblent être une manière incroyablement mauvaise de faire correspondre ces nœuds. Je ne suis pas sûr de suivre votre problème - pourquoi ne pas simplement utiliser quelque chose comme jquery pour choisir ces nœuds? par exemple, étant donné un sélecteur de css 'div> span.red:first-child',

$('div>span.red:first-child') 

pourrait renvoyer un tableau de ces noeuds correspondant.

EDIT: Oh, attendez - essayez-vous de faire ce 'hors ligne', pour ainsi dire - pas dans le navigateur d'un utilisateur? Ouais, ignore mon conseil. (Même si, je vous suggère encore que les expressions régulières ne vont pas vous aider. Pourquoi êtes-vous contre la génération d'une représentation document XML de la page?)

+0

Détacher traduire sélecteurs CSS dans les expressions régulières sonnant comme une mauvaise idée. –

+0

Ouais, pas mon premier choix ni une décision non plus. Mais compte tenu des restrictions, je ne vois pas d'autre moyen plus efficace, mis à part le HTML Agility Pack répertorié ci-dessus. –

Questions connexes