python3.x xmlデータ作成で text中にタグを複数挿入したい


python3.x xmlデータ作成で text中にタグを複数挿入したいのですが、

例えば...

[code]

    <root><aaa>あいう<bbb>えお</bbb>かきく<ccc>けこ</ccc>さしすせそ</aaa></root>
    
[/code]

というデータを作る場合、

思いつく方法は、

[code]

    import xml.etree.ElementTree as ET
    temp = "<root/>"
    root = ET.fromstring(temp)
    temp = "<aaa>あいう<bbb>えお</bbb>かきく<ccc>けこ</ccc>さしすせそ</aaa>"
    root.append(ET.fromstring(temp))
    ET.dump(root)
    
[/code]

なのですが、

他に方法はあるのでしょうか？

* * *

タグの括弧が参照文字になってしまう。

[code]

    import xml.etree.ElementTree as ET
    temp = "<root/>"
    root = ET.fromstring(temp)
    aaa = ET.SubElement(root, 'aaa')
    aaa.text = "あいう<bbb>えお</bbb>かきく<ccc>けこ</ccc>さしすせそ"
    ET.dump(root)
    #<root><aaa>あいう&lt;bbb&gt;えお&lt;/bbb&gt;かきく&lt;ccc&gt;けこ&lt;/ccc&gt;さしすせそ</aaa></root>
    
[/code]

* * *

textが上書きされてしまう。あたりまえですが。  
自分がイメージしているのは、こんな感じで appendできればいいなと思っています。

[code]

    import xml.etree.ElementTree as ET
    temp = "<root/>"
    root = ET.fromstring(temp)
    aaa = ET.SubElement(root, 'aaa')
    aaa.text = "あいう"
    bbb = ET.SubElement(aaa, 'bbb')
    bbb.text = "えお"
    aaa.text = "かきく"
    #<root><aaa>かきく<bbb>えお</bbb></aaa></root>
    
[/code]




XMLの要素に関連するテキストはtext, tail属性で設定できます。  
text属性には要素の開始タグとその最初の子要素または終了タグまでのテキスト，  
tail属性には要素の終了タグと次のタグまでのテキストを設定できます。

詳しくはPython標準ライブラリを参照してください。  
[Elementオブジェクトのtext,tail属性](https://docs.python.org/ja/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.tail)

[code]

    import xml.etree.ElementTree as ET
    temp = "<root/>"
    root = ET.fromstring(temp)
    aaa = ET.SubElement(root, 'aaa')
    aaa.text = "あいう"
    bbb = ET.SubElement(aaa, 'bbb')
    bbb.text = "えお"
    bbb.tail = "かきく"
    ccc = ET.SubElement(aaa, 'ccc')
    ccc.text = "けこ"
    ccc.tail = "さしすせそ"
    
    ET.dump(root)
    # <root><aaa>あいう<bbb>えお</bbb>かきく<ccc>けこ</ccc>さしすせそ</aaa></root>
    
[/code]




XMLの要素に関連するテキストはtext, tail属性で設定できます。  
text属性には要素の開始タグとその最初の子要素または終了タグまでのテキスト，  
tail属性には要素の終了タグと次のタグまでのテキストを設定できます。

詳しくはPython標準ライブラリを参照してください。  
[Elementオブジェクトのtext,tail属性](https://docs.python.org/ja/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.tail)

[code]

    import xml.etree.ElementTree as ET
    temp = "<root/>"
    root = ET.fromstring(temp)
    aaa = ET.SubElement(root, 'aaa')
    aaa.text = "あいう"
    bbb = ET.SubElement(aaa, 'bbb')
    bbb.text = "えお"
    bbb.tail = "かきく"
    ccc = ET.SubElement(aaa, 'ccc')
    ccc.text = "けこ"
    ccc.tail = "さしすせそ"
    
    ET.dump(root)
    # <root><aaa>あいう<bbb>えお</bbb>かきく<ccc>けこ</ccc>さしすせそ</aaa></root>
    
[/code]

