這裏,XML是xml='''<root>He<b>l<i>l</i>o</b>, <i>wo<b>r</b>ld!</i></root>'''
。我需要使用lxml從xml中提取文本
它應該打印「你好,世界!」
我正在使用Python 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中獲取文本,這將會有所幫助。
嘗試使用此:
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()/
謝謝回答@ andres,但是我需要在不使用xpath的情況下提取文本。 –
@sunnysingh你提到你使用lxml,這就是爲什麼我發佈這個答案 –
是的,它的真實但我必須解決沒有內置函數的lxml。 –
您能否請您發佈已編寫的代碼以及預期和實際輸出的問題是什麼? – Colwin
您可以嘗試BeautifulSoup,但正如@Colwin指出的,沒有足夠的信息提供建議。 –