如何解决迭代python中的xml元素时缺少一些文本
尝试这个:
from lxml import etree
tree = etree.fromstring("<foo> AAA <bar> BBB </bar> XXX </foo>")
foos = tree.xpath('//foo')
for foo in foos:
for j in foo.iter():
print j.tag, j.text, j.tail
输出:
foo AAA None
bar BBB XXX
tail
与其他XML模型(例如DOM)相比,lxml和ElementTree具有特殊性。有关更多信息,请参见http://infohost.nmt.edu/tcc/help/pubs/pylxml/web/etree-
view.html。
解决方法
我在Mac OS X 10.6.8上的Python 2.7.3中运行以下代码。
import StringIO
from lxml import etree
f = open('./foo','r')
doc = ""
while 1:
line = f.readline()
doc += line
if line == "":
break
tree = etree.parse(StringIO.StringIO(doc),etree.HTMLParser())
r = tree.xpath('//foo')
for i in r:
for j in i.iter():
print j.tag,j.text
并且文件foo包含
<foo> AAA <bar> BBB </bar> XXX </foo>
输出是
foo AAA
bar BBB
为什么我没有收到短信XXX
?我该如何访问?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。