2010-01-05 5 views
4

Je me demandais s'il existait des implémentations libres d'une chaîne de comparaison, qui indique la différence entre deux chaînes multilignes. Je cherche quelque chose comme l'écran de comparaison de Microsoft SourceSafe.Recherche de méthode pour faire la différence entre deux chaînes

Ce que je veux réaliser est de comparer deux sites web html et d'avoir un aperçu des changements.

(Le cas d'utilisation sera en comparant les pages html statiques pour savoir s'il y a des changements, comme des annonces ou des nouveaux téléchargements. Mes hôtes universitaires pages distinctes pour chaque cours que je visite.)

+0

S'il vous plaît clarifier: vous cherchez un diff bibliothèque pour réutilisation dans .NET ou pour un utilitaire autonome pour le texte de différenciation? – STW

+1

Il a précisé dans ma réponse qu'il cherchait une bibliothèque, pas un outil autonome. – JMD

Répondre

7

Il cherche une bibliothèque diff, pas un outil de diff.

Une recherche rapide sur Google se présente quelques-uns:

+0

+1 Merci pour les superbes liens - pour une intégration facile avec n'importe quel.Projet NET Je choisis le patch Diff Match de Google. –

+0

Je pense que cela va me lancer. Sinon, vous aurez des nouvelles de moi;) – citronas

1

Vous cherchez un outil "diff" gratuit, comme Diffuse?

EDIT: Au départ, j'avais une note suggérant que ce n'était pas lié à la programmation, mais j'ai réalisé que j'avais tort après avoir relu votre question. Je pense que vous voulez tirer le code HTML et faire le diff vous-même dans un outil que vous écrivez. Si ce est ce que vous essayez de faire, par opposition à une comparaison manuelle, alors Diffuse ne va pas vous aider, même si le projet est open-source. Cela peut vous donner des pistes.

+0

Oui, quelque chose comme Diffuse, mais pas une application autonome, mais plutôt qu'une implémentation .net ou au moins un wrapper .net. Pourquoi cette question n'est-elle pas liée à la programmation? Je voudrais exécuter cette méthode dans un service, obtenir le code html via HttpRequest et générer des e-mails si les modifications sont? – citronas

+0

Je me suis rétracté la note à ce sujet n'étant pas liée à la programmation après avoir relu votre question. Je vais ré-éditer pour que ce soit clair. :) – JMD

0

Si vous voulez simplement savoir s'il existe des différences: Utilisez un algorithme de hachage (crc, md5, sha) et vérifiez si la valeur a changé. Ce que vous décrivez ressemble plus à un outil de "diff" (bon mot de recherche pour cela) qui vous montre visuellement les différences dans les fichiers sources - mais je doute que vous ayez besoin de cette fonctionnalité. Voir au dessus.

Ou vérifier si votre université soutient effectivement la mise en cache de façon décente et il suffit de regarder une réponse HEAD Http pour le site qui vous intéresse.

+0

Eh bien, bien sûr je pourrais regarder s'il y a des changements, si je compare les cordes pour dire s'il y a des différences. Mais je préférerais une vue diff. Il ne doit pas être aussi visuel que SourceSafe ou Diffuse, une petite infrastructure de données que je peux mettre en forme pour ma sortie sera également suffisante. – citronas

+0

Ok, donc une vraie vue diff, pas seulement le fait pur "fait quelque chose changer". Je n'ai pas compris la question, désolé. –

Questions connexes