Python getparent()不起作用
问题描述:
我想在我正在读取XML文件的一些代码中使用getparent()。当我尝试下面的内容时,出现以下错误:AttributeError: getparent
Python 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()
方法。 Element
用lxml创建的对象确实有这种方法。您在代码中导入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>