Python getparent()不起作用

问题描述:

我想在我正在读取XML文件的一些代码中使用getparent()。当我尝试下面的内容时,出现以下错误:AttributeError: getparentPython getparent()不起作用

我假设我犯了一个基本错误,但经过一小时的搜索和试验和错误,我无法弄清楚它是什么。 (使用蟒蛇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() 

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

Element使用标准库模块ElementTree创建的对象没有getparent()方法。 Elementlxml创建的对象确实有这种方法。您在代码中导入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>