使用 minidom(不止一个父元素)在 Python 中创建 XML 文件

Create XML file in Python using minidom (more than one parented element)

我目前正在尝试使用 minidom 在 Python 中创建一个双亲 XML 文件,但是我正在努力让它工作(并且我的努力意味着它不是)

我正在尝试创建这样的东西:

<?xml version="1.0"?>
<twitter>
    <account>
        <name>Triple J</name>
        <handle>triplejplays</handle>
        <format>.{artist} - {title} [{time}]</format>
    </account>
    <account>
        <name>BBC Radio 1</name>
        <handle>BBCR1MusicBot</handle>
        <format>Now Playing {artist} - {title}</format>
    </account>
</twitter>

使用此代码:

def createXML():
    #Define document
    xmlFile = Document()

    #Create base element
    baseElement = xmlFile.createElement("twitter")

    #Create account element
    accountElement = xmlFile.createElement("account")

    #Append account element to base element
    baseElement.appendChild(accountElement)

    #Create elements and content under account
    nameElement = xmlFile.createElement("name")
    nameContent = xmlFile.createTextNode("Triple J")
    nameContent.appendChild(nameElement)
    nameElement.appendChild(accountElement)

    handleElement = xmlFile.createElement("handle")
    handleContent = xmlFile.createTextNode("triplejplays")
    handleContent.appendChild(handleElement)
    handleElement.appendChild(accountElement)

    formatElement = xmlFile.createElement("format")
    formatContent = xmlFile.createTextNode(".{artist} - {title} [{time}]")
    formatContent.appendChild(formatElement)
    formatElement.appendChild(formatElement)

    print(doc.toxml(encoding='utf-8'))

createXML()

但是我得到这个错误:

Text nodes cannot have children

有什么方法可以实现吗?提前致谢!

而不是例如nameContent.appendChild(nameElement) 您需要例如 nameElement.appendChild(nameContent),因为您需要将创建的文本节点附加到之前创建的元素节点。