This question was asked about four years ago, and the response was similar to "Doctor, it hurts when I do this". ... "then don't do this"
I'm attempting to use the xml.etree library in a way that it was obviously not intended to be used. The other option is to write Yet Another XML Handling Library, which is counterproductive, or rewrite my code to use xml.DOM, which would be time consuming. I could probably subclass the Element object, but since I don't know why the _children attribute is inaccessible from normal functions, I also don't know why it would be accessible from a subclass.
I'm attempting to use it to create a merge target from a base, right, and left versions, as passed in through Git mergetool. This requires fine control over the list of children. Sometimes it involves complete replacement of the list of children without disrupting the attributes. If I have access to the _children member, this is possible, but it isn't possible with the current interface. I'd have to clear() and then replace all of the attributes.
All that said, can someone tell me why I can't access the _children member? As per the official Python documentation, the underscore is a hint that it should be private, but proper Pythonic philosophy allows people to access them because it recognizes that original developers aren't infallible, and they can't think of everything.