Dave
Dave

Reputation: 6189

Insert xml element as first child using ElementTree in python

I'm using python to create an element in an xml document and then insert it as the FIRST CHILD of the document. So, if I were creating an elment named newChild I would want xml like this...

<root>
  <childA></childA>
  <childB></childB>
  <childC></childC>
</root>

to become...

<root>
  <newChild></newChild>
  <childA></childA>
  <childB></childB>
  <childC></childC>
</root>

I know that the order of elements in arbitrary xml shouldn't matter, but I writing xml doc for an ancient system which breaks if xml elements aren't in the expected order, so I don't have a choice in that regard.

Upvotes: 7

Views: 6228

Answers (1)

Pedro Romano
Pedro Romano

Reputation: 11213

The xml.etree.ElementTree.Element.insert method allows you to add a new sub-element to an element inserted at a specific position.

In your case element.insert(0, new_sub_element) should do the trick.

Upvotes: 10

Related Questions