gpt4 book ai didi

Python 和 XML 处理

转载 作者:行者123 更新时间:2023-12-01 06:08:21 25 4
gpt4 key购买 nike

我使用 urllib 获取以下数据:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<videos xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:www="http://www.www.com"">
<video type="cl">
<cd>
<src lang="music">http://www.google.com/ </src>
</cd>
</video>
</videos>

我想获取http://www.google.com/,这是我的代码:

import xml.etree.ElementTree as etree
data='<?xml version="1.0" encoding="UTF-8" standalone="yes"?><videos xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:www="http://www.www.com""><video type="cl"><cd><src lang="music">http://www.google.com/ </src></cd></video></videos>'
tree = etree.fromstring(data)
geturl=tree.findtext('/video/cd/src').strip()
print geturl

我收到错误:

AttributeError: 'NoneType' object has no attribute 'strip'

显然,findtext 失败了。我尝试了 findtext('src'),也不起作用。

怎么了?

最佳答案

从路径中删除第一个正斜杠:video/cd/src:

import xml.etree.ElementTree as etree
data='''<?xml version="1.0" encoding="UTF-8" standalone="yes"?><videos xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:www="http://www.www.com"><video type="cl"><cd><src lang="music">http://www.google.com/ </src></cd></video></videos>'''
tree = etree.fromstring(data)
geturl=tree.findtext('video/cd/src').strip()
print geturl

产量

http://www.google.com/

正斜杠表示绝对路径,元素上不允许使用绝对路径。

PS。您发布的数据中还存在语法错误: xmlns:www="http://www.www.com"" 末尾有两个双引号...

关于Python 和 XML 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034379/

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