使用原始顺序的 lxml xpath 获取 xml 中的所有文本节点

Getting all text nodes in xml using lxml xpath with original order

<a>
aaaa
<b>
bbbb
</b>
cccc
<d>
dddd
<f>
ffff
</f>
gggg
</d>
eeee
</a>

如何使用 lxml 和 xpath 获取列表。结果必须是 [aaaa,bbbb,cccc,dddd,fff,gggg,eeee]。 我可以使用函数 xpath(u"/descendant::[text()]") 和 xpath(u"/descendant::[text()]") 得到结果,但是顺序不对

>>> xml = "<a>aaaa<b>bbbb</b>cccc<d>dddd<f>ffff</f>gggg</d>eeee</a>"
>>> root = lxml.etree.fromstring(xml)
>>> root.xpath(".//text()")
['aaaa', 'bbbb', 'cccc', 'dddd', 'ffff', 'gggg', 'eeee']