如何在Python中创建XML文档
这是我的示例代码:
from xml.dom.minidom import *
def make_xml():
doc = Document()
node = doc.createElement('foo')
node.innerText = 'bar'
doc.appendChild(node)
return doc
if __name__ == '__main__':
make_xml().writexml(sys.stdout)
当我运行上面的代码时,我得到了这个:
<?xml version="1.0" ?>
<foo/>
我想得到的是:
<?xml version="1.0" ?>
<foo>bar</foo>
我只是猜测有一个叫innerText的属性,它没有报编译错误,但似乎不起作用……我该如何创建一个文本节点呢?
2 个回答
9
给一个对象设置一个属性并不会导致编译错误或运行错误,如果这个对象没有使用到这个属性,它就不会发挥任何作用(比如说,"node.noSuchAttr = 'bar'
" 也不会报错)。
如果你不需要 minidom
的某个特定功能,我建议你看看 ElementTree
:
import sys
from xml.etree.cElementTree import Element, ElementTree
def make_xml():
node = Element('foo')
node.text = 'bar'
doc = ElementTree(node)
return doc
if __name__ == '__main__':
make_xml().write(sys.stdout)