Using cElementTree and elementtree.ElementInclude

Mark E. Smith mark.e.smith at arnold.af.mil
Mon Oct 23 10:40:24 EDT 2006


 > cElementTree cannot hold ElementTree instances.
 >
 > can you post a small but self-contained example showing how you got this
 > error?

 > </F>



#from elementtree.ElementTree import ElementTree, dump # This works
from cElementTree import ElementTree, dump # This does not
from elementtree import ElementInclude

etree = ElementTree(file='xml_in.xml').getroot()
dump(etree)

ElementInclude.include(etree)
dump(etree)

for child in etree.find('./included_root').findall('./*'):
    # Copy the child down to the root
    etree.append(child)
# Remove the root/included_root
etree.remove(etree.find('./included_root'))
dump(etree)


<!--xml_in.xml-->
<root  xmlns:xi="http://www.w3.org/2001/XInclude">
     <child name="first"/>
     <xi:include href="xml_included.xml"/>
</root>

<!--xml_included.xml-->
<included_root>
    <child name="second"/>
    <child name="third"/>
</included_root>


Thanks for the help.
Mark



More information about the Python-list mailing list