【问题标题】:Xpath keep a place for empty node value [duplicate]Xpath为空节点值保留一个位置[重复]
【发布时间】:2026-02-01 10:15:01
【问题描述】:

我尝试从中提取值:

<tr>
     <td>a</td>
     <td>a</td>
     <td>b</td>
     <td></td>
     <td>b</td> 
</tr>

//td/text() 返回:

a
a
b
b

我怎样才能得到以下输出?

a
a
b

b

【问题讨论】:

标签: python xpath


【解决方案1】:

如果您使用的是lxml.html - 遍历找到的td 元素并获取text_content()

from lxml.html import fromstring

data = """
<tr>
     <td>a</td>
     <td>a</td>
     <td>b</td>
     <td></td>
     <td>b</td>
</tr>"""

tree = fromstring(data)

for td in tree.xpath(".//td"):
    print(td.text_content())

打印:

a
a
b

b

【讨论】: