Все решения, с которыми я столкнулся в отношении слияния документов XML, не выполняют то, что я желаю. Позвольте мне объяснить:
XML-документ 1:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section"></b>
<b title="Original Child Section 2"></b>
</b>
</a>
Документ XML 2:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="New Section">
<b title="New Child Section"></b>
</b>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
</b>
</a>
В заключительный документ вроде этого:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
<b title="Original Child Section 2"></b>
</b>
<b title="New Section">
<b title="New Child Section"></b>
</b>
</a>
Документы аналогичны по содержанию, но могут иметь произвольное количество дочерних узлов. Я также хотел бы удалить дубликаты. Я считаю, что дубликаты являются элементами с одинаковыми атрибутами (на основе имени и значения атрибута). Кто-нибудь видел рабочий пример этой реализации? Я могу представить себе, как я буду писать его с помощью некоторых циклов и немного рекурсии, но для меня это просто не похоже на лучший способ выполнить то, что я хочу:)
Приветствия и благодарности заранее!
* EDIT *
Поскольку консенсус в том, что петли и рекурсия являются обязательными, какой был бы самый элегантный и эффективный способ достичь этого? Я полагаю, что другой фундаментальный вопрос к этой проблеме - лучший способ сравнить узлы по мере того, как вы итерации?