python获取xml里节点的问题

现在可以获取正常的比如<a>foo</a>这样子的节点。
但是遇到<a attr='foo' />这样子的就获取不到了,获取以后是None。
尝试了Dom和ElementTree都不行呀,怎么获取那样子的节点呢?

阅读 4.3k
1 个回答

可以的啊,我估计你把一些概念搞错了,见代码:

import xml.etree.cElementTree as ET

tree = ET.parse('test.xml')
root = tree.getroot()
for child in root:
    print child
    print child.tag
    print child.attrib
    print child.text

xml文件如下:

<test>
    <a attr='foo'/>
</test>

输出结果:

<Element 'a' at 0x0297E848>
a
{'attr': 'foo'}
None

只有text才是None,而text<a>text</a>节点之间的内容,节点自身的那些东西都叫属性(attribute)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题