如何使用 ElementTree 在父元素的文本之间插入 XML 元素

How can I insert an XML element between text in the parent element using ElementTree

我想像这样生成 XML:

<Element>some text <Child>middle text</Child> some more text</Element>.

如何使用 ElementTree 执行此操作?

我在 the docs. I thought element#insert 中找不到它会起作用,但这是为了将一个子项插入相对于其他子项的特定位置。

您需要定义子元素并将其.tail, then append设置为父元素:

import xml.etree.ElementTree as ET


parent = ET.Element("Element")
parent.text = "some text "

child = ET.Element("Child")
child.text = "middle text"
child.tail = " some more text"

parent.append(child)

print(ET.tostring(parent))

打印:

<Element>some text <Child>middle text</Child> some more text</Element>