对于以下XML文件,我试图获取所有图书标题并将其附加到列表中。
XML文件 -
<?xml version="1.0" encoding="UTF-8"?>
<Text>
<Library>
<Book>
<Title>XYZ</Title>
</Book>
<Book>
<Title>ABC</Title>
</Book>
</Library>
</Text>
我使用ElementTree使用此代码提取标记值 -
for child in root.iter('Text'):
t1=(child.find('Library/Book/Title').text)
t2=(child.find('Library/Book/Title').text)
print (t1,t2)
我无法获得第二个标记值。是否可以在一个查找中获取这两个值并将其附加到列表中?
答案 0 :(得分:1)
您可以使用findall而不是find
在列表中获取这两个值更新了代码以使其符合评论:
library = []
for text in root.findall('Library'):
titles = [title.text for title in text.findall('Book/Title')]
library.append(titles)
这将为每个库创建一个数组,并将每个书名添加到该数组中 结果:
>>>print(library)
[['XYZ','ABC'],['LMN','PQR']]
here是文档