2016-05-13 6 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]が動作しますが、その順番は毎回異なります。 タグに依存していないので、注文しないでください

私はpython 2.7とlxmlパッケージを使用しています。

+0

'ageNode.xpath(「トム」)' –

+0

を試してみて、それは簡単なことです。ありがとう、それは動作します:) – KhaledMaged

答えて

1

/は、常にルートノードを参照します。相対XPathを行うには、.を追加したり、コメントで述べたように、完全に/を削除するか必要があります。

ageNode.xpath("./Tom") 
ageNode.xpath("Tom") 
関連する問題