2012-11-19 1 views
0

Я вхожу в уникальное положение и делаю слияние кучи файлов содержимого xml в ветвях svn-клиента, и проблема в том, что я не могу просто скопировать/вставить, потому что у этого клиента разные переводов и других обозначений. Попытка сделать это с помощью svn merge сложна, и ее, как 50 файлов, и многие клиенты включены. Таким образом, у меня есть вопрос о том, как написать плагин eclipse или даже программу Java, которая принимает два xml-файла источника, цели. Все элементы, не попавшие в цель, которые находятся в исходном добавлении и существующие элементы в целевом объекте с метками differnet, не изменяются. Могу ли я написать это довольно быстро? Какой парсер я хотел бы использовать, какие инструменты кто-то использовал бы, чтобы это произошло быстро. Я могу написать плагин быстро фактический код для выполнения сравнения, в котором мне нужен вход. - DuncanОбъединение файлов содержимого веб-контента XML

ответ

1

XSLT - очень полезный инструмент для этого. Он создан специально для преобразования одного XML-документа или любого подварианта, такого как HTML, в другой. Кажется, это именно то, что вы делаете.

Используя XSLT, вы определяете правила преобразования XML в XSL-файл; этот XSL-файл состоит из простой логики для определения частей XML, которые вы хотите изменить, а также определения того, как их изменить. Затем вы кормите как свои правила XSL, так и исходный документ XML, и выплескиваете новый результат XML.

Хорошая вещь об использовании XSLT заключается в том, что вы можете настроить его и запустить снова. И вы можете запускать его в партиях исходных XML-файлов. Заметьте, также приятно, что вы можете использовать его из многих контекстов. Вы можете выполнить его как инструмент командной строки, которому вы передаете параметры, указывающие на ваш источник XML и правила XSL, и вы также можете использовать его из кода Java. Это довольно гибко.

Единственное, что в вашем случае использования, которое я еще не делал раньше, с XSLT, проверяет сразу два исходных файла. Но this question расценивает именно такую ​​вещь.

+0

Я думаю, что суженный, что я хочу делать. У меня есть два Dom Documents, вы хотите перемещаться по одному дому, и когда я перемещаюсь, добавьте какие-либо элементы, которые он имеет, что DOM, я сравниваю его два, нет. Разработана ли XSLT для чего-то подобного? –

+0

@ DuncanKrebs Я поставил больше информации в свой ответ. – chad

Смежные вопросы