将lxml.etree.element类重新定义为不带命名空间的showup标记

时间:2015-02-04 10:47:15

标签: python python-2.7 inheritance lxml

我是python的新手,我想重新定义etree.element对象,以便让“tag”attribut显示没有命名空间的标记......

我尝试过类似的事情:

class _Element(lxml.etree._Element):
...
       tag=tag.rsplit('}', 1)[-1]

但它无法正常工作,我看不到并修改了Element对象,我只看到了Element()方法......

任何想法我怎么能以聪明的方式做到这一点?

2 个答案:

答案 0 :(得分:1)

签出方法" cleanup_namespaces()"在documentation中,似乎做了你想做的事。

答案 1 :(得分:0)

使用Qnamefrom Nick Byrne's blog):

from lxml.etree import QName

QName(elem.tag).localname