У меня задача сохранить документ в виде текста.
Вроде бы элементарная задача и очевидное решение — использовать HTMLayoutGetElementInnerText.
Но если в документе есть таблица, строки таблицы слепляются без разделителей.
Так, для документа
<html>
<table>
<tr><td>Col1</td><td>Col2</td></tr>
<tr><td>Row11</td><td>Row12</td></tr>
</table>
</html>
возвращается
Col1Col2
Row11Row12
В Sciter у функции SciterGetElementText такое же поведение.
Есть какой-то простой способ получения правильного текста? Желательно в HTMLayout.
(Энумеровать элементы через DOM и сцеплять текст вручную — это вариант на крайний случай, если не найдется ничего проще.)
Здравствуйте, rstain, Вы писали:
R>У меня задача сохранить документ в виде текста. R>Вроде бы элементарная задача и очевидное решение — использовать HTMLayoutGetElementInnerText.
Не сказал бы что это очевидное решение.
Ибо сколько людей столько и мнений как оно должно выглядеть. Канонической формы такого преобразования нет.
Обходить DOM и склеивать текст руками в тот вид что тебе нужно. Ибо только ты знаешь что нужно и какая структура тех таблиц.
Re[2]: HTMLayoutGetElementInnerText - нет разделителей для таблицы
CS>Ибо сколько людей столько и мнений как оно должно выглядеть. Канонической формы такого преобразования нет. CS>Обходить DOM и склеивать текст руками в тот вид что тебе нужно. Ибо только ты знаешь что нужно и какая структура тех таблиц.
Ну, канонического, может, и нет, но любой браузер умеет это делать. Естественно, не всегда результат тот, что нужен, но, наверно, в большинстве случаев — да. Было бы удобно, если бы и HTMLayout/Sciter могли это делать.
Ок, значит, решения "из коробки" нет. Хотя обидно — ведь оно почти есть )
Ладно, буду склеивать вручную.