[英]How do I create an xml document in python
这是我的示例代码:
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 属性,它没有给出编译器错误,但似乎不起作用……我该如何创建文本节点?
@丹尼尔
感谢您的回复,我也想出了如何用 minidom 来做(我不确定 ElementTree 与 minidom 之间的区别)
from xml.dom.minidom import *
def make_xml():
doc = Document();
node = doc.createElement('foo')
node.appendChild(doc.createTextNode('bar'))
doc.appendChild(node)
return doc
if __name__ == '__main__':
make_xml().writexml(sys.stdout)
我发誓我在发布我的问题之前尝试过这个......
在对象上设置属性不会给出编译时或运行时错误,如果对象不访问它,它就不会做任何有用的事情(即“ node.noSuchAttr = 'bar'
”也不会给出一个错误)。
除非您需要minidom
的特定功能, 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)
我发现了一个关于minidom方法的非常详细的教程
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.