<td></td><td>foo</td>
Я хотел бы возвратиться ['', 'foo']
но xpath libxml //td/text()
возвраты просто ['foo']
. Как я нахожу пустой тег как ''
вместо (не подобранный)?
Пока вы выбираете текстовые узлы специально, вы не можете. Потому что в первом Когда вы меняете выражение XPath на Хотя @Tomalak совершенно прав, в XPath 2.0 можно использовать : , и это создает последовательность строк, каждая из которых содержит строковое значение соответствующего элемента Итак, в вашем случае результат будет желаемым:
просто нет текстового узла.
'// td'
, вы получаете два узла
. Используйте их текстовое значение в дальнейшей обработке.
// td / string (.)
td
. "", "foo"
Похожие вопросы: