gpt4 book ai didi

Python ElementTree 发现不工作

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:51 28 4
gpt4 key购买 nike

我是 ElementTree 的新手。我正在尝试获取 <sid>来自 XML 响应的值。

以下代码对我不起作用。如何提取 <sid> 中的值?我不确定号码在哪里 53是从这里来的。

    ...
r = requests.post(self.dispatchurl, verify=False, auth=HTTPBasicAuth(self.user, self.passwd))
print r.content
tree = ET.ElementTree(r.content)
print tree.find('sid')

输出:

/usr/bin/python2.7 /home/myuser/PycharmProjects/autoshun/shunlibs/SplunkSearch.py
<?xml version="1.0" encoding="UTF-8"?>
<response>
<sid>super__awesome__search__searchname_at_1489433276_24700</sid>
</response>

53

Process finished with exit code 0

最佳答案

我知道 OP 已有将近 2 年的历史,但我遇到了同样的问题并找到了适合我的解决方案。有效的方法是在加载 XML 文件的解析调用之后立即删除命名空间。

像这样的函数:

def remove_namespace(xmldoc, namespace):
ns = u'{%s}' % namespace
nsl = len(ns)
for elem in xmldoc.getiterator():
if elem.tag.startswith(ns):
elem.tag = elem.tag[nsl:]

我发现 ElementTree 存在命名空间问题,您要么使用上述函数将其删除,要么必须将显式命名空间传递给 find 或 findall 函数。

关于Python ElementTree 发现不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771935/

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