Pregunta
Busco a un analizador de LDIF para C #. Estoy tratando de analizar un archivo LDIF para que pueda comprobar que no existen objetos antes de añadirlos. Adición de ellos cuando el ya existen usando ntdsSchemaAdd) hace que una entrada en los registros de errores.
Solución
Una búsqueda en la red rápida reveló: http://wiki.github.com/skradel/Zetetic .Ldap / . Han proporcionado una API .NET.
Desde la página:
Zetetic.Ldap es una biblioteca .NET para .NET 2 y por encima, lo que hace más fácil trabajar con servidores de directorio (Como Active Directory, ADAM, Red Hat Directory Server, y otros). Algunos de las características clave de Zetetic.Ldap son:
análisis del archivo y la generación 1.LDIF - Leer y escribir el formato de archivo utilizado para mover datos entre alrededor sistemas de directorio
2.LDAP API orientada a la entrada, con el seguimiento de cambios - Crear y modificar el directorio objetos en una forma más natural
interrogatorios 3.LDAP esquema - el acceso mediante programación rápida de los tipos de objetos y campos de su directorio servidor entiende. Saber si una atributo es una cadena, un número, una fecha, etc., sin un montón de manuales la investigación y el re-análisis
4.LDIF pivoter - Girar un archivo LDIF en un (coma o delimitado por tabuladores) plana presentar para el análisis o la carga en sistemas que no hablan LDIF Construimos la biblioteca para hacer Zetetic.Ldap proyectos de directorio y de programación más rápido y más fácil, y lo liberan aquí con la esperanza de que otros se encontrarán útil también. Por lo que sabemos, esta es la única biblioteca .NET que realmente entiende la especificación LDIF.
Enlace de descarga: http://github.com/downloads/ skradel / Zetetic.Ldap / Zetetic.Ldap_20090831.zip
Otros consejos
Me gustaría analizar yo mismo.
Si nos fijamos en la LDIF RFC para la EBNF, verá que es no una gramática muy complejo.
He analizado sintácticamente una gran cantidad de LDIF antes de usar expresiones regulares de forma fiable. A pesar de su experiencia puede variar.