Issue 14849: C implementation of ElementTree: Inheriting from Element breaks text member (original) (raw)

Example Code to reproduce:

from xml.etree import ElementTree as etree class xetree: cElement = etree.Element class Element(etree.Element): def init(self, tag, attrib=None): xetree.cElement.init(self, tag, attrib)

etree.Element = xetree.Element

e = etree.Element("test", {'foobar':'bar'}) e.text = "failure" print(etree.tostring(e))

will lack "failure"

So basic inheritance is broken.

Here's a simpler testcase:

import xml.etree.ElementTree as ET

class XElement(ET.Element): def init(self, tag, attrib={}): ET.Element.init(self, tag, attrib)

e = XElement('test') e.text = 'failure'

print(ET.tostring(e))