XML to XML парсинг и конвертация. Как переделать структру?
Есть база данных книг в xml. Внутри такие поля как автор, издательство, год, текст, страницы и тд. Это экспорт из какой-то системы1. А есть другая система2, куда нужно загрузить эти данные, но там у xml файлов другая структура - другие тэги или вообще отсутствие некоторых. Эти теги по смыслу такие же, но написаны по-разному.
Например, в система1 есть тег date в формате date, а в системе2 аналог date_of_outgoing типа string. Нужно сделать конвертер, который бы принимал на вход данные в формате системы1 и переделывал их в xml для системы2. Имеем:
- xsd файлы исходные и желаемые
- dtd файы исходные и желаемые
- xml файл с данными и пример xml из системы2.
Могу писать несложные программы на c++, c#, js, php. Мб есть готовые решения? Посоветуйте, как лучше решить эту задачу? Парсить все как текст и заменять слова? Это геморно, мб есть библиотеки? или вообще сторонний софт? Мб другие подходы?
Порядок действий:
1. Поиск пересечения ветвей
2. Анализ схожих элементов структуры (левенштейн и т.д.) и корректировка ОБЩЕЙ структуры.
3. Создание словаря синонимов ([ID уникальной сущности]: Писатель, Создатель, Creator, Author), затем - снова п.2.
4. Оставшеися данные - ручной мэппинг.
trase8: https://ru.wikipedia.org/wiki/XSLT - описывается сама суть преобразования а не последовательность шагов для его выполнения. Дототочно многословный, как любой XML-производный формат.
А еще он может вынести мозг тем, кто не представляет как программировать без циклов и условий.