使用python解析xml文件

时间:2017-10-17 18:55:09

标签: python xml

Hese是file.xml文件xml file link

的文件
<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user data-id="101">
        <nom>Zorro</nom>
        <metier>Danseur</metier>
    </user>
    <user data-id="102">
        <nom>Hulk</nom>
        <metier>Footballeur</metier>
    </user>
    <user data-id="103">
        <nom>Zidane</nom>
        <metier>Star</metier>
    </user>
    <user data-id="104">
        <nom>Beans</nom>
        <metier>Epicier</metier>
    </user>
    <user data-id="105">
        <nom>Batman</nom>
        <metier>Veterinaire</metier>
    </user>
    <user data-id="106">
        <nom>Spiderman</nom>
        <metier>Veterinaire</metier>
    </user>
</users>

例如:我想为每个用户显示metier

from lxml import etree

tree = etree.parse("file.xml")
for metier in tree.xpath("/users/user/metier"):
    print(metier.text)

脚本运行没有问题,但它什么也没显示。似乎tree.xpath("/users/user/metier")是空的!!

1 个答案:

答案 0 :(得分:2)

tree.xpath相对于根元素<users>进行搜索。所以users不得成为路径的一部分:

from lxml import etree

tree = etree.parse("file.xml")
for metier in tree.xpath("user/metier"):
    print(metier.text)