gpt4 book ai didi

python - Python 中带条件的 XML 树解析

转载 作者:行者123 更新时间:2023-12-01 05:19:07 25 4
gpt4 key购买 nike

这是我的 XML 结构:

<images>
<image>
<name>brain tumer</name>
<location>images/brain_tumer1.jpg</location>
<annotations>
<comment>
<name>Patient 0 Brain Tumer</name>
<description>
This is a tumer in the brain
</description>
</comment>
</annotations>
</image>
<image>
<name>brain tumer</name>
<location>img/brain_tumer2.jpg</location>
<annotations>
<comment>
<name>Patient 1 Brain Tumer</name>
<description>
This is a larger tumer in the brain
</description>
</comment>
</annotations>
</image>
</images>

我是 Python 新手,想知道是否可以根据 comment:name 数据检索位置数据?换句话说,这是我的代码:

for itr1 in itemlist :
commentItemList = itr1.getElementsByTagName('name')

for itr2 in commentItemList:
if(itr2.firstChild.nodeValue == "Patient 1 Liver Tumer"):
commentName = itr2.firstChild.nodeValue
Loacation = it1.secondChild.nodeValue

有什么建议或者我在这里错过了什么吗?预先感谢您。

最佳答案

使用 minidom 解析 xml 一点也不有趣,但想法如下:

  • 迭代所有image节点
  • 对于每个节点,检查注释/名称文本
  • 如果文本匹配,则获取位置节点的文本

查找Patient 1 Brain Tumer评论位置的示例:

import xml.dom.minidom

data = """
your xml goes here
"""

dom = xml.dom.minidom.parseString(data)
for image in dom.getElementsByTagName('image'):
comment = image.getElementsByTagName('comment')[0]
comment_name_text = comment.getElementsByTagName('name')[0].firstChild.nodeValue
if comment_name_text == 'Patient 1 Brain Tumer':
location = image.getElementsByTagName('location')[0]
print location.firstChild.nodeValue

打印:

img/brain_tumer2.jpg

关于python - Python 中带条件的 XML 树解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22720490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com