Python getparent()不起作用

时间:2015-11-28 04:49:45

标签: python xml

我想在我正在编写的一些代码中使用getparent()来读取XML文件。当我尝试下面的内容时,我收到此错误:AttributeError: getparent

我认为我犯了一个基本错误,但经过一个小时的搜索和反复试验后,我无法弄清楚它是什么。 (如果重要的话,使用python 2.7)

import xml.etree.cElementTree as ET
import lxml.etree
url = [file.xml]
tree = ET.ElementTree(file=url)

txt = 'texthere'

for elem in tree.iter(tag='text'):
    print elem.text
    print elem.getparent() 

2 个答案:

答案 0 :(得分:0)

我认为最好这样做。导入库存在一些问题。同样的事情可以使用DOM。这里很好的例子。 http://www.mkyong.com/python/python-read-xml-file-dom-example/

答案 1 :(得分:0)

使用标准库模块ElementTree创建的

Element个对象没有getparent()方法。使用lxml创建的Element个对象确实有此方法。您在代码中导入lxml(import lxml.etree)但不使用它。

这是一个小型的工作演示:

from lxml import etree

XML = """
<root>
  <a>
    <b>foo</b>
  </a>
</root>"""  

tree = etree.fromstring(XML)

for elem in tree.iter(tag="b"):
    print "text:", elem.text
    print "parent:", elem.getparent()

输出:

text: foo
parent: <Element a at 0x27a6f08>