Парсер LDIF (C#)
Я ищу парсер LDIF для C#. Я пытаюсь проанализировать файл LDIF, чтобы проверить, не существует ли объектов перед их добавлением. Добавление их, когда они уже существуют с использованием ntdsSchemaAdd), приводит к записи в журналах ошибок.
2 ответа
Быстрый веб-поиск показал: http://wiki.github.com/skradel/Zetetic.Ldap/. Они предоставили.net API.
Со страницы:
Zetetic.Ldap - это библиотека.NET для.NET 2 и выше, которая облегчает работу с серверами каталогов (такими как Active Directory, ADAM, Red Hat Directory Server и другие). Некоторые из ключевых особенностей Zetetic.Ldap:
1. Разбор и создание файла LDIF - чтение и запись формата файла, используемого для перемещения данных между системами каталогов
2.LDAP Entry-ориентированный API с отслеживанием изменений - Создание и изменение объектов каталога более естественным способом
3. Запрос схемы LDAP - Быстрый программный доступ к типам объектов и полей, которые понимает ваш сервер каталогов. Узнайте, является ли атрибут строкой, числом, датой и т. Д., Без большого ручного исследования и повторного анализа
4.LIFIF Pivoter - Превратите файл LDIF в плоский файл (разделенный запятыми или табуляцией) для анализа или загрузки в системы, не говорящие на LDIF. Мы создали библиотеку Zetetic.Ldap, чтобы сделать проекты каталогов и программирование быстрее и проще, и выпустите это здесь в надежде, что другие найдут это полезным также. Насколько нам известно, это единственная библиотека.NET, которая действительно понимает спецификацию LDIF.
Ссылка для скачивания: http://github.com/downloads/skradel/Zetetic.Ldap/Zetetic.Ldap_20090831.zip
Я бы разобрал это сам.
Если вы посмотрите на LDIF RFC для EBNF, вы увидите, что это не очень сложная грамматика.
Я проанализировал большое количество LDIF перед надежным использованием регулярных выражений. Хотя ваш пробег может отличаться.