我目前正在尝试使用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
有没有办法让这项工作?提前谢谢!
答案 0 :(得分:0)
而不是例如nameContent.appendChild(nameElement)
你需要nameElement.appendChild(nameContent)
,因为你需要将文本节点create附加到之前创建的元素节点。