我是python的新手,我有一个情况
<a>
<b>
<c>
<d>abcd</d>
<e>
<f>pqrs</f></e></d></c></b></a>
如果d具有 abcd ,则该算法应该是,然后找到f,如果存在f,则返回true,否则返回false abcd 。
如果有人可以帮我解决这个问题,我将不胜感激。
答案 0 :(得分:0)
您可以使用递归XPath尝试查找匹配的标记和文本,然后使用另一个来测试其他标记的存在,如下所示:
import xml.etree.ElementTree as ET
def find_d(root):
if root.findtext('.//d') == 'abcd':
return root.find('.//f') is not None
return False
xml_data = """<a>
<b>
<c>
<d>abcd</d>
<e>
<f>pqrs</f></e></c></b></a>"""
root = ET.fromstring(xml_data)
print find_d(root)