我正在使用minidom遇到一种奇怪的行为。我运行以下代码:
import os
import sys
from xml.dom import minidom
def generateReleaseXMLFile():
modelPath = "%./model/"
# Create the parser
xsydoc = minidom.Document()
# Create the element ScriptModelVersion
scriptModelVersion = xsydoc.createElement('ScriptModelVersion')
# Assign all the attributes
scriptModelVersion.setAttribute("Major", "1")
scriptModelVersion.setAttribute("Minor", "2")
scriptModelVersion.setAttribute("Patch", "3")
scriptModelVersion.setAttribute("ReseaseDate", "2011-05-20")
# Append the root to the document
xsydoc.appendChild(scriptModelVersion)
# Create the file descriptor
fdesc = open(modelPath+"Release.xml", "w")
# Write the file
fdesc.write(xsydoc.toprettyxml())
# Close the file
fdesc.close()
print xsydoc.toprettyxml()
generateReleaseXMLFile()
它会生成以下输出:
<?xml version="1.0" ?>
<ScriptModelVersion Major="9" Minor="0" Patch="1" ReleaseDate="2011-05-20"/>
没有xml标签关闭。 我真的不知道为什么它会保持文档打开。有没有人遇到过同样的问题?或者我只是忘记了一些非常明显的想法,我只是简单地看到了这个问题?
答案 0 :(得分:6)
<?xml ... ?>
不是标记,而是XML Declaration。没有必要关闭它,你的文件是完美的形状。
答案 1 :(得分:1)
您的XML有效: 看看:http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29
您无需关闭声明。