Добавление массива тегов в xml root - PullRequest
0 голосов
/ 28 мая 2020

У меня есть массив xml .etree.ElementTree.Element . Мне нужно добавить его в тег root, который содержит несколько тегов (т.е.) xml .etree.ElementTree.Element

, например:

<MxGraphModel>
    <root>
       <mxCell id="0"></mxCell>
       <mxCell id="1"></mxCell>
    </root>
</MxGraphModel>

Мой массив ['<mxCell id="3"></mxCell>','<mxCell id="4"></mxCell>']

Мой окончательный результат должен быть:

<MxGraphModel>
     <root>
        <mxCell id="0"></mxCell>
        <mxCell id="1"></mxCell>
        <mxCell id="3"></mxCell>
        <mxCell id="4"></mxCell>
     </root>
</MxGraphModel>

1 Ответ

0 голосов
/ 28 мая 2020

Попробуйте следующее:

from xml.etree import ElementTree as ET

data = ['<mxCell id="3"></mxCell>','<mxCell id="4"></mxCell>']
root = ET.parse('test.xml').getroot()

nodes = root.find('root')
for x in data:
    nodes.append(ET.fromstring(x))

print(ET.tostring(root))

Вывод:

<MxGraphModel>
   <root>
      <mxCell id="0" />
      <mxCell id="1" />
      <mxCell id="3" />
      <mxCell id="4" />
   </root>
</MxGraphModel>
...