I had a very simple problem but am short on time so would be really grateful if anyone can provide the quick answer. Basically I had an XML given below :
<Root>
<Delhi>
<Population>1000</Population>`enter code here`
</Delhi>
<Mumbai>
<Population>1000</Population>
<District>
<Name>Colaba</Name>
</District>
<District>
<Name>navi Mumbai</Name>
</District>
<District></District>
</Mumbai>
<Mumbai>
<Population>1000</Population>
</Mumbai>
<Mumbai>
<Population>1000</Population>
</Mumbai>
<Chennai>
<Population>1000</Population>
<District>
<Name>Chan</Name>
</District>
</Chennai>
<Kolkata>
<Population>1000</Population>
</Kolkata>
I want to pass this XML to a method and want a response something like below:
<Root>
<Delhi>
<Population>1000</Population>
</Delhi>
<Mumbai>
<Mumbai>
<Population>1000</Population>
<District>
<District>
<Name>Colaba</Name>
</District>
<District>
<Name>navi Mumbai</Name>
</District>
<District></District>
</District>
</Mumbai>
<Mumbai>
<Population>1000</Population>
</Mumbai>
<Mumbai>
<Population>1000</Population>
</Mumbai>
</Mumbai>
<Chennai>
<Chennai>
<Population>1000</Population>
<District>
<District>
<Name>Chan</Name>
</District>
</District>
</Chennai>
</Chennai>
<Kolkata>
<Population>1000</Population>
</Kolkata>
So the logic is very simple : I want to iterate through the nodes of the Root Element and I check if my node is either Mumbai,District or Chennai. If it is, I enclose all the tags by that name inside a tag having the same name. The XML can have any level so I believe it needs to be done through recursion effectively.