在Python中搜索XML内容

2024-09-25 00:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下XML文件:

使用some help of StackOverflow,我设法实现了我计划做的一些事情。现在,我想在我的脚本中添加一个搜索函数,并单独处理该子树。例如,我问用户-什么ID?他进入AL2012-2015-088。在一个巨大的XML文件中递归地搜索这个ID,脚本应该找到这个ID并打印它拥有的元素。在

我使用了content.find("AL2012-2015-088"),但它不起作用!在


Tags: 文件of函数用户脚本id元素help
2条回答

我相信find命令是用来查找标记的,而不是标记中的文本,因此您应该在id上查找。我不确定您需要从XML中获取哪些信息,但下面是一个获取标题的示例。在

import xml.etree.ElementTree as elt
content = elt.parse('example.xml').getroot()

def get_id_info(inputID):
    for child in content:
        if child.find('id').text == inputID:
            print child.find('title').text

get_id_info('AL2012-2014-001')

给出Amazon Linux 2012.03 - AL2012-2014-001...

如果您切换到^{},您将能够充分利用XPath表达式的强大功能(您还可以显著加快速度)。在

下面是一个示例-使用所需的id查找update元素并打印出title

from lxml import etree as ET

id_that_user_enters = "AL2012-2015-088"
tree = ET.parse("example.xml")

update = tree.xpath("//update[id = '%s']" % id_that_user_enters)[0]
print(update.findtext("title"))

印刷品:

^{pr2}$

相关问题 更多 >