У меня есть два XML-документа:
XML 1:
<outer>
<foo>
<foo-child name="fA" special="true">
content of fA
</foo-child>
<foo-child name="fB">
content of fB
</foo-child>
</foo>
<bar>
<bar-child name="bA">
content of bA
</bar-child>
<bar-child name="bB" special="true">
content of bB
</bar-child>
</foo>
</outer>
XML 2:
<outer>
<foo>
<foo-child name="fA">
newer and improved content of fA
</foo-child>
<foo-child name="fC">
content of fC
</foo-child>
</foo>
<bar>
<bar-child name="bA" really-special="true" />
<bar-child name="bB" special="false">
Despecialized content of bB
</bar-child>
</foo>
</outer>
Я хочу объединить их так, чтобы элементы издокумент два элемента переопределения с тем же атрибутом name
в документе один.Если во втором документе отсутствует атрибут или контент, он наследуется от первого.Итак:
Комбинированный
<outer>
<foo>
<foo-child name="fA" special="true">
newer and improved content of fA
</foo-child>
<foo-child name="fB">
content of fB
</foo-child>
<foo-child name="fC">
content of fC
</foo-child>
</foo>
<bar>
<bar-child name="bA" really-special="true">
content of bA
</bar-child>
<bar-child name="bB">
Despecialized content of bB
</bar-child>
</foo>
</outer>
Я намереваюсь сделать это на стороне сервера с PHP.
Однако я не уверен, является ли это работой для DomDocument
или SimpleXML.Я тоже на самом деле не использовал и продолжаю думать: «Хотел бы я иметь jQuery».
Есть ли простое решение этой проблемы?