如何找到最后一个元素的索引
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)
我有以下代码并且正在使用 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)