gpt4 book ai didi

python - xml.etree.ElementTree 查找所有

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:26 24 4
gpt4 key购买 nike

我正在解析 XML file使用 xml.etree.ElementTree。我想根据名称属性查找元素。

fnd = root.findall("./player[@name='Pqp239']")

但是,这只会找到与名称完全匹配的内容。您将如何查找名称包含部分名称的元素?所以它会是这样的

fnd = root.findall("./player[@name='rob']")

会找到名称中包含 rob 的所有元素,如下所示:

Rob
Robert
chifforobe

最佳答案

您可以使用 contains() function , 但这只有在你切换到 lxml.etree 时才有效而不是 xml.etree.ElementTree 只有部分/有限的 XPath 支持:

import lxml.etree as ET

tree = ET.parse("input.xml")
root = tree.getroot()

root.xpath("./player[contains(@name, 'rob')]")

但请注意,要使部分匹配不区分大小写,您需要另外应用 translate() function :

关于python - xml.etree.ElementTree 查找所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37174876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com