类型元素自xml.etree.cElementTree是不被承认的

2024-10-01 11:25:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用cElementTree解析一个xml文件。使用.getroot()函数将得到一个元素类型。我想在if语句中使用这种类型

if type(elementVariable) == 'Element':
     do stuff

但是,执行以下操作时无法识别该类型:

^{pr2}$

输出:

<type 'Element'>
False
Traceback (most recent call last):
  File "/homes/ndeklein/workspace/MS/src/main.py", line 39, in <module>
    print type(rootElement) == Element
NameError: name 'Element' is not defined

所以

print type(rootElement) 

将“Element”作为类型,但是

print type(rootElement) == 'Element' 

给出错误

如何在if语句中使用那样的类型?在


Tags: 文件函数元素类型iftypexmlelement
1条回答
网友
1楼 · 发布于 2024-10-01 11:25:12

看起来Element类没有被C实现直接公开。但是,您可以使用以下技巧:

>>> Element = type(xml.etree.cElementTree.Element(None))
>>> root = xml.etree.cElementTree.fromstring('<xml></xml>')
>>> isinstance(root, Element)
True

相关问题 更多 >