Я хотел бы знать, как объединить 2 потока XML, прежде чем, наконец, снова его преобразовать.
Два потока
Ввод 1
<Response>
<Instrument>
<Date value="2010-09-02">
<Quantity>10</Quantity>
</Date>
<DXLID>1</DXLID>
</Instrument>
<Instrument TICKER="APPL" />
<SF></SF>
<Instrument>
<Date value="2010-09-02">
<Quantity>20</Quantity>
</Date>
<DXLID>2</DXLID>
</Instrument>
<Instrument TICKER="APPL" />
<SF></SF>
</Response>
Вход 2
<Response>
<IM>
<Instrument>
<Date value="2010-09-02">
<SAF>1</SAF>
<SAR>2</SAR>
</Date>
<DXLID>1</DXLID>
</Instrument>
<Instrument>
<Date value="2010-09-02">
<SAF>1</SAF>
<SAR>2</SAR>
</Date>
<DXLID>3</DXLID>
</Instrument>
</IM>
</Response>
Желаемый выход
<Response>
<All>
<Instrument>
<Date value="2010-09-02">
<SAF>1</SAF>
<SAR>2</SAR>
<Quantity>10</Quantity>
</Date>
<DXLID>1</DXLID>
</Instrument>
<Instrument>
<Date value="2010-09-02">
<Quantity>20</Quantity>
</Date>
<DXLID>2</DXLID>
</Instrument>
<Instrument>
<Date value="2010-09-02">
<SAF>1</SAF>
<SAR>2</SAR>
</Date>
<DXLID>3</DXLID>
</Instrument>
</All>
</Response>
Слияние должно основываться на совпадении значения узла DXLID
и атрибута value
узла Date
.
Обратите внимание, что объединение должно быть объединением в обоих направлениях.