2014-12-05 58 views
0

有人知道如何跳轉到xml中的下一個元素嗎?即lxml(xml python解析器)轉到下一個元素

<xml> 
<node></node> 
<text number="2">Text number 2</text> 
<text number="3">Text number 3</text> 
... 
<text number="N">Text number N</text> 
... 
<node></node> 
</xml> 

我希望能夠跳轉到編號爲3的元素,然後迭代幾次。

element2 = xpath('//text[@number="2"]') 
element3 = element2.nextElement() 
returns <text number="3">Text number 3</text> 
element4 = element3.nextElement() ... 

我知道我可以找到屬性「數」的所有元素,然後遍歷它們,但對我來說重要的是能夠去(後元素)從所選開始下一個元素 - 例如僅僅是簡化

謝謝:)

回答

0

工作的例子是遊覽的好方法。 xpath爲您提供了與您的查詢匹配的元素列表。其中一個元素上的help告訴你你想知道什麼。

>>> import lxml.etree 
>>> root=lxml.etree.fromstring("""<xml> 
... <node></node> 
... <text number="2">Text number 2</text> 
... <text number="3">Text number 3</text> 
... ... 
... <text number="N">Text number N</text> 
... ... 
... <node></node> 
... </xml>""") 
>>> elements=root.xpath('//text[@number="2"]') 
>>> elements 
[<Element text at 0x7fdd45d04d88>] 
>>> help(elements[0]) 

... 

| getnext(...) 
|  getnext(self) 
|  
|  Returns the following sibling of this element or None. 

...