这是我的示例代码:
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)
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到了这个:
<?xml version="1.0" ?>
<foo/>
Run Code Online (Sandbox Code Playgroud)
我想得到:
<?xml version="1.0" ?>
<foo>bar</foo>
Run Code Online (Sandbox Code Playgroud)
我只是猜测有一个innerText属性,它没有给出编译器错误,但似乎没有工作......我该如何创建一个文本节点?
mma*_*tax 11
@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)
我发誓我在发布问题之前尝试了这个...
在对象上设置属性不会产生编译时或运行时错误,如果对象没有访问它,它将无效(即" 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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22407 次 |
最近记录: |