I want to combine multiple XML strings (> 1000) into one string in R. This can for example be done by the XML package (xml_add_sibling). However I would like to get rid of the intermediate root nodes ("positions" in my example).
Input:
library(XML)
position1 <- <positions>
<moneyMarket>
<positionName>1</positionName>
<notional>10000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
position2 <- <positions>
<moneyMarket>
<positionName>2</positionName>
<notional>40000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
position3 <- <positions>
<moneyMarket>
<positionName>3</positionName>
<notional>50000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
Code:
combined_XML <- xml_add_sibling(position1,position2)
combined_XML <- xml_add_sibling(combined_XML,position3)
Actual results:
<positions>
<moneyMarket>
<positionName>1</positionName>
<notional>10000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
<positions>
<moneyMarket>
<positionName>2</positionName>
<notional>40000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
<positions>
<moneyMarket>
<positionName>3</positionName>
<notional>50000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>
Expected results:
<positions>
<moneyMarket>
<positionName>1</positionName>
<notional>10000</notional>
<currency>EUR</currency>
</moneyMarket>
<moneyMarket>
<positionName>2</positionName>
<notional>40000</notional>
<currency>EUR</currency>
</moneyMarket>
<moneyMarket>
<positionName>3</positionName>
<notional>50000</notional>
<currency>EUR</currency>
</moneyMarket>
</positions>