2

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 タグのクロージャーなし。ドキュメントを開いたままにする理由がまったくわかりません。誰かが同じ問題を経験しましたか? それとも、本当に明白なことを忘れているだけで、問題が見えないだけですか?

4

2 に答える 2

6

これ<?xml ... ?>はタグではなく、XML宣言です。それを閉じる必要はありません、あなたの文書は完璧な形になっています。

于 2011-08-18T09:15:30.730 に答える
1

あなたの XML は有効です: 見てください: http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29

宣言を閉じる必要はありません。

于 2011-08-18T09:20:34.960 に答える