2011-12-27 5 views
0

私は約2時間掘りと掘りしてきたが、私はこのエラーの原因を見つけることができませんでした:lxmlのElement.getAttribute()メソッド呼び出しはどこに行きましたか?

1) JBoss 
2) Tomcat 
Select an application: 1 
<App id="1" type="JBoss" path="" state="ok"/> 

Traceback (most recent call last): 
    File "/root/RService.py", line 47, in <module> 
    Stats = app.getAttribute('state') 
AttributeError: 'lxml.etree._Element' object has no attribute 'getAttribute' 

そして、私のコードの一部は次のとおりです。

app_types = set(nXML.xpath('//Group[@id=$gList]//descendant::App/@type',gList=gList)) 
    app_dict = dict((x+1,y) for (x,y) in enumerate(app_types)) 

    print "\n".join("%d) %s" % x for x in sorted(app_dict.items())) 
    app_selection = input("Select an application: ") 
    app_type = app_dict.get(int(app_selection)) 

    for app in nXML.xpath('//Group[@id=$gList]//App[@type=$app_type]',gList=gList,app_type=app_type): 
     print etree.tostring(app) 

     Stats = app.getAttribute('state') 
     stype = app.getAttribute('type') 
     trigger = 0 

     while trigger < 1: 
      if Stats == 'ok': 
       try: ... ... 

それは働いていました以前は、構文はどうなりましたか?

ありがとうございました

+1

現在のドキュメントには、このメソッドの記述はありません。あなたは古代のバージョンからアップグレードしましたか? – delnan

答えて

1

代わりにapp.get( 'state')を試してください。それはLXML 2.2.7で私の役に立つ。

+1

そのすべてが良いですが、parentNode属性を印刷できませんか?このように: 'print app.parentNode.get( 'state')' Error: 'AttributeError: 'lxml.etree._Element'オブジェクトに属性 'parentNode''がありません –

+1

これはapp.getparent()です。 LXML要素はhttp://lxml.de/api/lxml.etree._Element-class.htmlに文書化されています。それはすべての方法を持っています。 –

+0

トリッキー。ありがとうございました –

関連する問題