I hope you are doing fine guys.
I am trying to sort the XML with a predefined order as a primary criteria and as a second criteria based on the "id" the XML file I am working on before exporting it. I am using "xml.etree.ElementTree", and I have added all the elements and subelements as it's required, the last portion I can't solve is the sorting.
The XML exported XML is as followed:
<List>
<Level1>
<LevelA id="zzz"/>
<DO name="Info01"/>
</LevelA >
<LevelB id="ccc"/>
<DO name="Info01"/>
</LevelB>
<LevelA id="aaa"/>
<DO name="Info01"/>
</LevelA >
<LevelC id="bbb"/>
<DO name="Info01"/>
</LevelC>
<LevelA id="ddd"/>
<DO name="Info01"/>
</LevelA>
<LevelB id="aaa"/>
<DO name="Info01"/>
</LevelB>
<LevelC id="aaa"/>
<DO name="Info01"/>
</LevelC>
</Level1>
</List>
The defined order is:
predefined_order = [ 'LevelA', 'LevelB', 'LevelC']
Expected:
<List>
<Level1>
<LevelA id="aaa"/>
<DO name="Info01"/>
</LevelA >
<LevelA id="ddd"/>
<DO name="Info01"/>
</LevelA>
<LevelA id="zzz"/>
<DO name="Info01"/>
</LevelA >
<LevelB id="aaa"/>
<DO name="Info01"/>
</LevelB>
<LevelB id="ccc"/>
<DO name="Info01"/>
</LevelB>
<LevelC id="aaa"/>
<DO name="Info01"/>
</LevelC>
<LevelC id="bbb"/>
<DO name="Info01"/>
</LevelC>
</Level1>
</List>
Please help me giving me some clues.
Thanks
D
Try:
Prints: