2010-02-16 6 views
4

Je cherche un analyseur LDIF pour C#. J'essaye d'analyser un dossier de LDIF de sorte que je puisse vérifier que les objets n'existent pas avant de les ajouter. Les ajouter quand ils existent déjà en utilisant ntdsSchemaAdd) provoque une entrée dans les journaux d'erreurs.LDIF Parser (C#)

Répondre

4

Un websearch rapide a révélé: http://wiki.github.com/skradel/Zetetic.Ldap/. Ils ont fourni une API .net.

De la page:

Zetetic.Ldap est une bibliothèque .NET pour .NET 2 et au-dessus, ce qui le rend plus facile de travailler avec des serveurs d'annuaire (comme Active Directory, ADAM, Red Hat Directory Server et autres). Certains d'entre les principales caractéristiques de Zetetic.Ldap sont:

analyse syntaxique de fichiers 1.LDIF et génération - Lire et écrire le format de fichier utilisé pour les données se déplacer entre systèmes d'annuaire

2.LDAP orientée-entrée API avec le suivi des modifications - Créer et modifier des objets répertoire d'une manière plus naturelle

3.LDAP interrogation de schéma - accès rapide aux programmes les types de objets et champs de votre répertoire serveur comprend. En savoir si un attribut est une chaîne, un numéro, une date , etc., sans beaucoup de manuel recherche et ré-analyse syntaxique

4.LDIF Pivoter - Transformez un fichier LDIF dans un (virgule ou délimité par des tabulations) fichier plat pour l'analyse ou le chargement dans systèmes qui ne parlent pas LDIF Nous avons construit la bibliothèque Zetetic.Ldap pour faire projets d'annuaire et de programmation plus rapide et plus facile, et la libérer ici dans l'espoir que d'autres le trouveront utile aussi. Pour autant que nous sachions, c'est la seule bibliothèque .NET qui vraiment comprend la spécification LDIF.

lien de téléchargement: http://github.com/downloads/skradel/Zetetic.Ldap/Zetetic.Ldap_20090831.zip

1

j'analyser moi-même.

Si vous regardez le LDIF RFC pour le EBNF, vous verrez que ce n'est pas une grammaire très complexe.

J'ai analysé une grande quantité de LDIF avant d'utiliser les expressions rationnelles de manière fiable. Bien que votre kilométrage puisse varier.

+0

L'écriture d'un analyseur prendra toujours un peu de temps pour obtenir tous les détails, surtout si vous implémentez la spécification complète. Si vous ne faites qu'une implémentation partielle, cela causera toutes sortes de problèmes plus tard. – Casebash