Все решения, с которыми я сталкивался относительно слияния 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>
Документы похожи по содержанию, но могут иметь произвольное количество дочерних узлов.Я также хотел бы устранить дубликаты.Я считаю, что дубликаты являются элементами с одинаковыми атрибутами (в зависимости от имени и значения атрибута).Кто-нибудь видел рабочий пример этой реализации?Я могу представить, как бы я написал это, используя несколько циклов и немного рекурсии, но для меня это просто не лучший способ достичь того, чего я хочу:)
Приветствия и заранее спасибо!
* РЕДАКТИРОВАТЬ *
Поскольку существует общее мнение, что циклы и рекурсия являются обязательнымиКаков будет самый элегантный и эффективный способ сделать это?Я полагаю, что еще один фундаментальный вопрос к этой проблеме: каков наилучший способ сравнения узлов во время итерации?