[英]ElementTree, how to find neighbor element
我有XML文件,它看起来像这样:
<ROWSET>
<ROW>
<element>Element1</element>
<element_id>01</element_id>
</ROW>
<ROW>
<element>Element2</element>
<element_id>02</element_id>
</ROW>
<ROW>
<element>Element3</element>
<element_id>03</element_id>
</ROW>
</ROWSET>
<element>
的值来自表格。 现在,我需要知道此元素的<element_id>
。 请帮我。 谢谢。
您可以使用XPath谓词获取某个子元素具有特定值的父元素,例如//parent[child='certain_value']
。 然后,从这一点开始,您可以简单地返回同一父对象的另一个子元素,因此整个XPath看起来将类似于//parent[child='certain_value']/another_child
。
特定于您的案例的完整的演示示例:
from xml.etree import ElementTree as ET
source = '''<ROWSET>
<ROW>
<element>Element1</element>
<element_id>01</element_id>
</ROW>
<ROW>
<element>Element2</element>
<element_id>02</element_id>
</ROW>
<ROW>
<element>Element3</element>
<element_id>03</element_id>
</ROW>
</ROWSET>'''
root = ET.fromstring(source)
target_element_value = 'Element2'
result = root.find('.//ROW[element="' + target_element_value + '"]/element_id')
print(result.text)
输出:
02
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.