2016-02-03 2 views
1

я пытаюсь извлечь значения из этого:Xpath сохранить место для значения пустого узла

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

// TD/текст() возвращает:

a 
a 
b 
b 

Как я могу получить следующий вывод?

a 
a 
b 

b 
+4

Вы читали это? http://stackoverflow.com/questions/2420705/how-do-return-for-an-empty-nodes-text-in-xpath –

+0

Общая ссылка полезна. Спасибо – kevin

ответ

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 
+0

Это работает. Благодарю. – kevin

Смежные вопросы