如果您真的在使用lxml(问题标记为lxml和elementtree),您可以使用xpath函数
contains()
在谓词中。。。
from lxml import etree
xml = """
<doc>
<client1>foo</client1>
<some_client>bar</some_client>
</doc>
"""
root = etree.fromstring(xml)
for elem in root.xpath("//*[contains(name(),'client')]"):
print(f"{elem.tag}: {elem.text}")
打印输出。。。
client1: foo
some_client: bar
ElementTree只有
limited xpath support
,因此一个选项是使用
.tag
所有物
import xml.etree.ElementTree as etree
xml = """
<doc>
<client1>foo</client1>
<some_client>bar</some_client>
</doc>
"""
root = etree.fromstring(xml)
for elem in root.iter():
if "client" in elem.tag:
print(f"{elem.tag}: {elem.text}")
这将产生与上面相同的打印输出。