Предположим, у меня есть А документ так:Как слить (с перезаписью) два xml-документа?
<document>
<element>
<value>1</value>
<wom>bat</wom>
</element>
<bar>
<baz />
<baz />
<baz />
</bar>
</document>
и B документ на подобное:
<document>
<element>
<value>2</value>
</element>
<bar>
</bar>
</document>
С результатом, который выглядит следующим образом:
<document>
<element>
<value>2</value>
<wom>bat</wom>
</element>
<bar>
</bar>
</document>
Так что я бы хотел добиться, чтобы перезаписать значения в теге (например, в element
) в документе A со значениями, указанными в документе B, но оставить значения брата нетронутыми. Если тег в B однако пуст (лист), я хочу, чтобы его коллега в A был опустошен. Я проверил вопрос this, но он не переписывается. Как я могу решить эту проблему?
Разъяснение: и В документы имеют ту же структуру, но B имеет меньше элементов. Я должен удалить каждый элемент в A, который пуст в B, и я должен перезаписать каждый внутренний элемент в элементе, если он не пуст (см. Мой пример).
это очень широкий вопрос. у вас есть ** ** конкретные элементы (с известными именами и путями), которые вы хотите сравнить? –
Каждый элемент должен быть объединен. Есть только 2 правила, как я указал. –
Ну, это не будет просто, если только элементы не имеют уникальных имен.В противном случае вам нужно будет сопоставить каждый элемент с его коллегой, используя весь путь. Вы используете XSLT 2.0? –