我需要使用lxml从xml中提取文本

问题描述:

这里,XML是xml='''<root>He<b>l<i>l</i>o</b>, <i>wo<b>r</b>ld!</i></root>'''我需要使用lxml从xml中提取文本

它应该打印“你好,世界!”

我正在使用Python lxml库来获取文本,但它不能正确打印预期的字符串。 如果您有更好的想法从XML中获取文本,这将会有所帮助。

+1

您能否请您发布已编写的代码以及预期和实际输出的问题是什么? – Colwin

+0

您可以尝试BeautifulSoup,但正如@Colwin指出的,没有足够的信息提供建议。 –

尝试使用此:

from lxml import html 

xml_data = '''<root>He<b>l<i>l</i>o</b>, <i>wo<b>r</b>ld!</i></root>''' 
tree = html.fromstring(xml_data) 
print ''.join(tree.xpath('//text()')) 

注:双斜线(//)是后代或自身轴线旋转;它是/ descendant-or-self的简称:: node()/

+0

谢谢回答@ andres,但是我需要在不使用xpath的情况下提取文本。 –

+0

@sunnysingh你提到你使用lxml,这就是为什么我发布这个答案 –

+0

是的,它的真实但我必须解决没有内置函数的lxml。 –