gpt4 book ai didi

python - 在Python中使用etree解析XML

转载 作者:行者123 更新时间:2023-11-30 23:13:28 24 4
gpt4 key购买 nike

我查看了文档和其他类似的问题,但无法弄清楚这里出了什么问题!

我想使用 API 的 XML 输出。

我的 XML 看起来有点像这样:

<response>
<lst></lst>
<result>
<doc>
<str name ="pa">1234</str>
<str name ="et">Title 1</str>
<str name ="pb">Publisher 1</str>
<str name ="ur">http://www.exampleone.com</str>
</doc>
<doc>
<str name ="pa">5678</str>
<str name ="et">Title 2</str>
<str name ="pb">Publisher 2</str>
<str name ="ur">http://www.exampletwo.com</str>
</doc>
</result>

我想获取每个文档元素的“pa”。

这是我正在使用的代码,但什么也没得到:

import requests
import xml.etree.ElementTree as ET

r = requests.get("api url goes here")

tree = ET.fromstring(r.content)

for doc in tree.findall("doc"):
pan = doc.find('pa').text
print pan

我做错了什么?

最佳答案

doc.find('pa') 将搜索不存在的 pa 元素

相反,您需要查找name属性等于pastr元素:

doc.find('.//str[@name="pa"]')

演示:

>>> for doc in tree.findall("doc"):
... pan = doc.find('.//str[@name="pa"]').text
... print pan
...
1234
5678

关于python - 在Python中使用etree解析XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com