如何合并元素并将其分组

问题描述 投票:0回答:1

如何合并以下XML代码段:

摘录1:

    <drug>
        <title>Paracetamol</title>
        <indications outputclass="indicationsAndDose">
            <title>Indications and dose</title>
            <body>
                <section outputclass="indicationAndDoseGroup">
                    <sectiondiv outputclass="therapeuticIndications">
                        <p outputclass="therapeuticIndication">Some indication 1</p>
                    </sectiondiv>
                </section>
            </body>
        </indications>
    </drug>

代码段2:

    <drug>
        <title>Abacavir</title>
        <indications outputclass="indicationsAndDose">
            <title>Indications and dose</title>
            <body>
                <section outputclass="indicationAndDoseGroup">
                    <sectiondiv outputclass="therapeuticIndications">
                        <p outputclass="therapeuticIndication">Some indication 2</p>
                    </sectiondiv>
                </section>
            </body>
        </indications>
    </drug>

接受标准:我需要输出一个XML代码段,它是代码段1和代码段2的超集,但需要以基于n个元素,属性和值的独特方式来完成。

  1. [当元素相同且值不同且它们没有属性时,应将其合并
  2. [当元素具有属性,然后应该将它们合并/按值分组
  3. 解决方案应该是动态的,因为上述规则可以应用于任何类型的元素,即<title><section><p>

    <drug>
        <title>Paracetamol</title>
        <indications outputclass="indicationsAndDose">
            <title>Indications and dose</title>
            <body>
                <section outputclass="indicationAndDoseGroup">
                    <sectiondiv outputclass="therapeuticIndications">
                        <p outputclass="therapeuticIndication">Some indication 1</p>
                        <p outputclass="therapeuticIndication">Some indication 2</p>
                    </sectiondiv>
                </section>
            </body>
        </indications>
    </drug>
    
xml xquery basex
1个回答
0
投票

我不确定这是否是您想要的那种合并,因为您的要求非常含糊!但是,它会从您提供的输入中产生输出:

© www.soinside.com 2019 - 2024. All rights reserved.