Я старался не задавать этот вопрос как можно дольше ... но я не нашел ничего, что бы идеально соответствовало моим потребностям, и пришло время завершить этот проект.
Итаквот что мне нужно:
Я создаю приложение, которое в основном будет различать два XML-документа, а затем вносить незначительные изменения в один из них.У меня есть шаблон XML, а затем другой файл XML будет меняться каждый раз.Я только должен определить, находятся ли ключевые элементы из шаблона в другом файле.Любые дополнительные вещи можно игнорировать, но недостающие ключевые элементы должны быть добавлены.
Визуальное представление:
шаблон
<root attribute="asd">
<a />
<b>
<c asdf="fdsa" />
</b>
</root>
прочее xml
<root>
<a d="wer" />
<b>
<c />
<b>
<d />
</root>
окончательный результат:
<root attribute="asd">
<a d="wer" />
<b>
<c asdf="fdsa" />
</b>
<d />
</root>
Мой вопрос:
Есть ли способ достичь этого конечного результата без тщательного изучения всех ключевых элементов и проверки их существования?Я заглянул в XPath, и это пока что мое лучшее решение: просто проверить, есть ли необходимые детали, а затем добавить их, если их нет (я буду делать новый файл, поэтому пишу в новомэлементы не очень хлопотно).Однако, поскольку есть много вещей, которые я должен проверить, я бы предпочел не делать этого.Я также посмотрел на XMLUnit и XOM, но они, кажется, лучше подходят для сравнения и объяснения различий (в том числе, где были добавлены дополнительные строки, которые меня не интересуют).
Итак, любая отличная идеяреализовать две строки кода и сделать это просто волшебным образом?Потому что это было бы здорово :) 1022 *