【发布时间】:2018-02-26 12:20:29
【问题描述】:
XML:
<tree>
<row>
<a>This is a</a>
<b>This is b</b>
</row>
</tree>
所以我在网上看到了许多解决方案,并且已经查找了其中的许多。以下对我不起作用:
tree = etree.XML('file.xml')
print tree[0].findtext('a'). // None
print tree[0].find('a'). // None
print tree[0].xpath('a') // None
print tree[0].xpath('/a') //None
print tree[0].xpath('//a') //None
print tree[0].xpath('/a') //None
print tree.xpath('//row/a') //None
print tree.xpath('//row/a/text()') //None
我发现的唯一方法就是tree[0][0].text
但是我的实际 XML 包含 25 个子元素,执行 25 次并不是真正干净的代码..
也许你们知道我做错了什么?
我也知道有 BeautifulSoup 之类的东西,但经过测试,我得出的结论是,由于性能,这不适合我的情况.. (benchmark here)
谢谢!
【问题讨论】: