【发布时间】:2015-04-27 05:05:41
【问题描述】:
我在提取当前节点内容(包括所有子节点)时遇到了问题。
就像下面的代码,我想获取字符串
abcdefg<b>b1b2b3</b>
在预标签中。
但我无法使用“child::*”来获取它。 如果我使用“/text()”,我会丢失 b 标签格式信息。请帮帮我。
# -*- coding: utf-8 -*-
from lxml import html
import lxml.etree as le
input = "<pre>abcdefg<b>b1b2b3</b></pre>"
input_xpath = "//pre/child::*"
tree = html.fromstring(input)
result = tree.xpath(input_xpath)
result1 = [le.tostring(item) for item in result]
result2 = ''.join(result1)
print result2
output: <b>b1b2b3</b>
【问题讨论】:
-
这对我来说很难。我不知道lxml如何解决你的问题。
-
@TonyYang fyi,请查看下面的答案和链接的问题,了解解决此问题的可能选项