我正在尝试使用Python 3的ElementTree模块来解析XML,但我无法使其工作。
我有一个XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<show>
<name>Name 1</name>
<number>79</number>
</show>
<show>
<name>Name 2</name>
<number>382</number>
</show>
</root>
我想检查一下名称,它是否存在于XML上并获取数字。所以当我编写代码时,我会这样做:
show_input = show.lower()
file_to_parse = findXMLshowFile(show_input)
file_path = os.path.join(LOCATION_URL, file_to_parse)
root = etree.parse(file_path)
shows = root.findall('show')
for element in shows:
name = element.find('name').text
if name.lower() == show:
show_name = name
show_number = int(element.find('number').text)
break
return [show_name, show_number]
我得到空名和号码。调试,当我执行shows = root.findall('show')
时,它有2个对象,但它们都是空的。
我正在阅读documentation而我不知道我做错了什么。有人可以告诉我这是我的错误吗?
此致
答案 0 :(得分:0)
感谢@RomanPerekhrest,我做的一切正确,但我正在检查错误的变量。
用name.lower() == show_input
替换{{1}}是解决方法。