PHP ile XML belgeleri birleştirme

0 Cevap php

Ben bu iki xml belgeleri var:

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>

Onları bir araya birleştirmek istiyorum bu bu belge bir aynı name niteliği ile belge iki yüzdesel unsurlardan elemanları. Hiçbir nitelik veya içerik ikinci belgede mevcut olduğunda ise, ilk devralınan. Yani:

Combined

<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>

Benim niyet PHP ile bu sunucu tarafı yapmaktır.

Ancak, ben bu DomDocument veya SimpleXML için bir iş olup olmadığı konusunda emin değilim. Ben de gerçekten kullanılan ve "ben jQuery olsaydı" düşünce tutmak değil.

Bu sorunun basit bir çözüm var mı?

0 Cevap