xmltodict:未获取正确的嵌套元素
xmltodict: Not fetching correct nested elements
所以我有一个 XML 这样的:
<main>
<site>Amazon</site>
<url>..</url>
<books>
<book>
<id>1</id>
<author>Jhon</author>
</book>
<book>
<id>2</id>
<author>Jhon</author>
</book>
<book>
<id>3</id>
<author>Jhon</author>
</book>
</books>
</main>
我正在访问它:
document = xmltodict.parse(xml)
books = document['books]['book'] #returns 3
for book in books:
pass
但是如果 XML 就像:
<books>
<book>
<id>3</id>
<author>Jhon</author>
</book>
</books>
然后 1 它 returns 2 即 child of <books>
我做错了什么?
这是 xmltodict
的常见问题,已在此处讨论:
此行为的解决方法是使用 force_list
选项(目前在 master 分支中可用):
xmltodict.parse(data, force_list={'books': 'book'})
所以我有一个 XML 这样的:
<main>
<site>Amazon</site>
<url>..</url>
<books>
<book>
<id>1</id>
<author>Jhon</author>
</book>
<book>
<id>2</id>
<author>Jhon</author>
</book>
<book>
<id>3</id>
<author>Jhon</author>
</book>
</books>
</main>
我正在访问它:
document = xmltodict.parse(xml)
books = document['books]['book'] #returns 3
for book in books:
pass
但是如果 XML 就像:
<books>
<book>
<id>3</id>
<author>Jhon</author>
</book>
</books>
然后 1 它 returns 2 即 child of <books>
我做错了什么?
这是 xmltodict
的常见问题,已在此处讨论:
此行为的解决方法是使用 force_list
选项(目前在 master 分支中可用):
xmltodict.parse(data, force_list={'books': 'book'})