使用python按路径获取xml元素

2024-05-06 11:41:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试遍历一个大的xml文件,并收集一些数据。由于数据的位置可以通过路径找到,所以我使用了xpath,但没有结果

有人能指出我做错了什么吗

xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<rootnode>
    <subnode1>

    </subnode1>
    <subnode2>

    </subnode2>
    <subnode3>
        <listnode>
            <item id="1"><name>test name1</name></item>
            <item id="2"><name>test name2</name></item>
            <item id="3"><name>test name3</name></item>
        </listnode>
    </subnode3>
</rootnode>

代码:

import lxml.etree as ET

tree = ET.parse('temp/temp.xml')

subtree = tree.xpath('./rootnode/subnode3/listnode')

for next_item in subtree:
    Id = next_item.attrib.get('id')
    name = next_item.find('name').text
    print('{:>20} - {:>20}'.format(name,Id))

Tags: 数据nametestidtreexmlitemxpath