繁体   English   中英

ElementTree,如何找到邻居元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM