2014-12-05 61 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. 

...