当前位置:  开发笔记 > 编程语言 > 正文

如何在python中创建xml文档

如何解决《如何在python中创建xml文档》经验,为你挑选了2个好方法。

这是我的示例代码:

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)

当我运行上面的代码时,我得到了这个:



我想得到:


bar

我只是猜测有一个innerText属性,它没有给出编译器错误,但似乎没有工作......我该如何创建一个文本节点?



1> mmattax..:

@Daniel

感谢您的回复,我也想出了如何使用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)

我发誓我在发布问题之前尝试了这个...



2> dF...:

在对象上设置属性不会产生编译时或运行时错误,如果对象没有访问它,它将无效(即" 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)

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有