python - lxml,Python。我无法获取元素 : element. 文本的内容为 None

标签 python xml lxml

我从互联网上加载了一个 xml 文件,并用 lxml 进行了解析。但是我无法通过'element'.text获取内容。 result 和 source 都很短,我就写吧。

XML:

<?xml version="1.0" encoding="utf-8"?>
<products>
<product>
<company><![CDATA[google]]></company>
<link><![CDATA[http://www.google.com]]></link>
<subject><![CDATA[sushi]]></subject>
</product>
</products>

代码:

import urllib2
from lxml import etree
from StringIO import StringIO

rss = urllib2.urlopen("http://dizzy-v.co.kr/test/test.xml").read()
tree = etree.parse(StringIO(rss), etree.HTMLParser())

root = tree.getroot()
for product in root.iter('product'):
    for element in product.iter():
        print element.text

结果:

None
None
None

最佳答案

删除 etree.HTMLParser 给你文本:

>>> import urllib2
>>> from lxml import etree
>>>
>>> rss = urllib2.urlopen("http://dizzy-v.co.kr/test/test.xml").read()
>>> root = etree.fromstring(rss) # <----
>>> for product in root.iter('product'):
...     for element in product.iter():
...         print element.text
...


google
http://www.google.com
sushi

关于python - lxml,Python。我无法获取元素 : element. 文本的内容为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346734/

相关文章:

python - 在每个 for 循环迭代中遍历列表

python - 算法和包在一定时间内重复修改声音的音高

Python subprocess.Popen() - 子进程导致套接字保持打开状态

python - 如何在 python 2.7 中将字符串转换为字节串

excel - VBA 中的 LoadXML 未将字符串解析为可用的 DOMDocument60

python - 我如何映射到字典而不是列表?

c# - 有没有办法在 C# 中复制或制作 XmlNodeList 的另一个副本?

java - 使用netty 4.1.9进行xml消息处理

python - lxml忽略具有未定义命名空间前缀的元素

python - 在没有 pip 的情况下安装 lxml