对于以下 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)
我无法获得第二个标签值。是否可以在一次查找中获取两个值并将其附加到列表中?
您可以使用 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']]
这是文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句