2016-05-13 76 views
2

我有一個類似於此的XML文件。我想選擇基於其標籤使用XPath或lxml根據標籤選擇特定的子節點

<list> 
    <age> 
    <John>18</John> 
    <Tom>22</Tom> 
    <Samer>19</Samer> 
    <Mark>21</Mark> 
    </age> 
</list> 

子節點有沒有辦法選擇「湯姆節點」爲例,從「年齡節點」開始?

我試過類似的東西ageNode.xpath("/Tom")但它不工作。 ageNode.getchildren()[1]工作,但事情是順序是不同的每一次。 所以我只能依靠標籤NOT訂購

我正在使用python 2.7和lxml包。

+0

嘗試'ageNode.xpath(「湯姆」)' –

+0

而且就這麼簡單。謝謝,它的作品:) – KhaledMaged

回答

1

/在XPath的開頭始終引用根節點。做一個相關的XPath,你需要或者添加.或徹底刪除/,在註釋中:

ageNode.xpath("./Tom") 
ageNode.xpath("Tom")