如何找到最后一个元素的索引

How to find the index of the last element

我有以下代码并且正在使用 elementtree。每个 <product> 都有一个位置索引,可以与其他函数一起使用。在这种情况下,包含 Cookie 的产品的位置索引为 2。

如何找到最后一个 <product> 的位置索引?

<parentelem>
    <project>
        <name>Project Title</name>
    </project>
    <product>
        <id>1</id>
        <name>Biscuit</name>
    </product>
    <product>
        <id>2</id>
        <name>Cookie</name>
    </product>
</parentelem>

您可以将 XPath 与查找方法一起使用:

import xml.etree.ElementTree as ET

xml_string = """<parentelem>
    <project>
        <name>Project Title</name>
    </project>
    <product>
        <id>1</id>
        <name>Biscuit</name>
    </product>
    <product>
        <id>2</id>
        <name>Cookie</name>
    </product>
</parentelem>"""

xml_obj = ET.fromstring(xml_string)

print("Nb of elements (children of parentelem): " + str(len(xml_obj)))
print("Count 'product' elements specifically: " + str(len(xml_obj.findall('product'))))
print("Name of last product: " + xml_obj.find('product[last()]/name').text)