如何在python中解析深层嵌套XML

时间:2018-01-16 09:38:39

标签: python xml autosar

我是python的新手,我有一个情况

<a>
<b>
  <c>
    <d>abcd</d>
       <e>
         <f>pqrs</f></e></d></c></b></a>

如果d具有 abcd ,则该算法应该是,然后找到f,如果存在f,则返回true,否则返回false abcd

如果有人可以帮我解决这个问题,我将不胜感激。

1 个答案:

答案 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)