2013-06-04 38 views
0

我正在編寫一個代碼來使用ElementTree從xml文件中提取文本,但是我發現lxml提供了更方便的xpath功能。所以我想知道這行能在LXML用lxml重寫ElementTree代碼

if x.nodeName == 'a:pPr' and x.getAttribute('lvl') == '2' and x.hasAttribute('marL') == False: 

目前被改寫,我建議使用這個..

'/p:sld/p:cSld/p:spTree/p:sp/p:nvSpPr/p:nvPr/x[@type="body" and @sz="quarter" and @marL]' 

希望我的問題是清楚的!

回答

1

我假設你已經處於準備使用xpath的階段。如果不是http://lxml.de/parsing.html應該有所幫助。 尋找的元素,你正在尋找你的第一行中的XPath應該是這樣的:

然而,我不得不承認,我不知道你的第二個片段應該如何找到O_O

+0

該元素非常感謝你..我從昨天開始就試着這樣做.. :) – Sangamesh

+0

可以請你告訴我我應該在lxml中使用什麼來取代 'x.firstChild.nodeName =='a:r''因爲'getnext( )'和'getprevious()'不會給下一個孩子,但給下一個父節點本身..我希望我的問題是明確的:) – Sangamesh

+0

你應該能夠使用這個xpath:* [1] [self :: a:r] – pypat