How to write XML declaration using xml.etree.ElementTree

后端 未结 11 943
长情又很酷
长情又很酷 2020-11-30 05:11

I am generating an XML document in Python using an ElementTree, but the tostring function doesn\'t include an XML declaration when converting to plaintext.

11条回答
  •  独厮守ぢ
    2020-11-30 05:58

    I would use ET:

    try:
        from lxml import etree
        print("running with lxml.etree")
    except ImportError:
        try:
            # Python 2.5
            import xml.etree.cElementTree as etree
            print("running with cElementTree on Python 2.5+")
        except ImportError:
            try:
                # Python 2.5
                import xml.etree.ElementTree as etree
                print("running with ElementTree on Python 2.5+")
            except ImportError:
                try:
                    # normal cElementTree install
                    import cElementTree as etree
                    print("running with cElementTree")
                except ImportError:
                   try:
                       # normal ElementTree install
                       import elementtree.ElementTree as etree
                       print("running with ElementTree")
                   except ImportError:
                       print("Failed to import ElementTree from any known place")
    
    document = etree.Element('outer')
    node = etree.SubElement(document, 'inner')
    print(etree.tostring(document, encoding='UTF-8', xml_declaration=True))
    

提交回复
热议问题