python xml.etree.ElementTree anexado ao subelemento

Estou tentando usar xml.etree.ElementTree para analisar um arquivo xml, localizar uma marca específica, anexar um filho a essa marca, anexar outro filho à marca recém-criada e adicionar texto ao último filho.

Meu XML:

<root>
<a>
    <b>
      <c>text1</c>
    </b>
    <b>
      <c>text2</c>
   </b>
</a>
</root>    

XML desejado:

<root>
<a>
    <b>
      <c>text1</c>
    </b>
    <b>
      <c>text2</c>
   </b>
    <b>
      <c>text3</c>
   </b>
</a>
</root>

Código atual:

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()


for x in root.iter():
    if (x.tag == 'a'):
        ET.SubElement(x, 'b')
        ET.SubElement(x, 'c')
        #add text

Isso parece funcionar, exceto que 'c' acrescenta como filho de 'a' e não de 'b'

Igual a:

<root>
<a>
    <b>
      <c>test1</c>
    </b>
    <b>
      <c>test2</c>
    </b>
  <b /><c/></a>
</root>

Além disso, como adiciono texto ao elemento recém-criado 'c'? Eu poderia percorrer até encontrar a tag 'c' que não tem texto, mas deve haver uma maneira melhor.

questionAnswers(1)

yourAnswerToTheQuestion