2016-08-01 9 views
0

Ich versuche gerade, eine doppel-parentierte XML-Datei in Python mit Minidom zu erstellen, aber ich kämpfe, um es zum Laufen zu bringen (und indem ich kämpfe meine, es ist nicht)Erzeuge XML-Datei in Python mit minidom (mehr als ein parented Element)

ich versuche, so etwas zu schaffen:

<?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> 

Mit diesem Code:

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() 

Aber ich bekomme diese Fehlermeldung:

Text nodes cannot have children 

Gibt es eine Möglichkeit, dies zu tun? Danke im Voraus!

Antwort

0

Statt z.B. nameContent.appendChild(nameElement) benötigen Sie z. B. nameElement.appendChild(nameContent), da Sie den Textknoten create an den zuvor erstellten Elementknoten anhängen müssen.

Verwandte Themen