2013-03-07 68 views
0

我正在使用ElementTree並具有我想在Python中查找其元素的名稱列表。如何在Python中使用ElementTree查找具有特定名稱屬性的元素

我有一個列表的名稱

namelist = ['jenna', 'bob', 'sue'] 

對於這些名字,我想找到他們的整個元素,並將其寫入到文件中。 我的文件的格式是這樣的:

<fistnames> 
<firtname name = 'jenna'> 
... 
</firstname> 
</firstnames> 

然後我嘗試以下,以查找對應於列表中的名字元素。

for eachfirstname in namelist: 
    firstnames = library.find('firstnames') 
    **firstname = firstnames.find('firstname', @name=firstname)** 

這不工作...什麼是正確的語法基礎上找到一個屬性的值的元素 - 在這種情況下name

+0

http://effbot.org/zone/element-xpath.htm – dm03514 2013-03-07 16:21:50

回答

1

你可以使用XPath表達式爲:

for name in namelist: 
    firstname = library.find('.//firstname[@name="{}"]'.format(name)) 
+0

只是嘗試這樣做......我得到'NameError:全球名 'name'沒有定義' – user1328021 2013-03-07 16:25:10

+0

@ user1328021:請注意,我的循環使用'名稱...'。 – 2013-03-07 16:27:14

+0

哎呀..好吧,現在我得到'SyntaxError:無效謂詞' – user1328021 2013-03-07 16:27:57

相關問題