gpt4 book ai didi

python - 如何使用 python ElementTree 获取 XML 中的同级标签值

转载 作者:行者123 更新时间:2023-12-03 20:51:58 34 4
gpt4 key购买 nike

我一直在尝试获取 ci-name 元素的值,该元素的同级 RandomAttribute 的值(文本)很重要。我是 python 的初学者,我正在尝试使用 Python 的内置 ElementTree。

这是示例 XML:

<state>
<s-name>State 1</s-name>
<district>
<d-name>District 1</d-name>
<city>
<ci-name>City 1</ci-name>
<RandomAttribute>UN- IMPORTANT</RandomAttribute>
</city>
<city>
<ci-name>City 2</ci-name>
<RandomAttribute>NOT SO IMPORTANT</RandomAttribute>
</city>
<city>
<ci-name>City 3</ci-name>
<RandomAttribute>IMPORTANT</RandomAttribute>
</city>
</district>
</state>

请帮我解决这个问题。

最佳答案

您可以使用 XPath-1.0 表达式访问该值

/state/district/city[RandomAttribute='IMPORTANT']/ci-name

只需将其放入 Python XML 处理器即可。
lxml 中,这可能看起来像

xml = ...
tree = etree.parse(xml)
result = tree.xpath('/state/district/city[RandomAttribute='IMPORTANT']/ci-name')
print(result[0].tag)

输出应该是

City 3

关于python - 如何使用 python ElementTree 获取 XML 中的同级标签值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094610/

34 4 0