Я использую HtmlUnit для обработки некоторых страниц Html. Моя проблема заключается в том, что, похоже, это не правильно поддерживает пробелы.HtmlUnit обработка whitespace
оригинальный HTML выглядит следующим образом:
<div><cite>www.<b>example</b>.com</cite>
Что делает, как:
WWW. пример .com
После использования блока html для выполнения синтаксического разбора на других частях dom, я распечатываю html с помощью getXml(). Это приводит к тому, HTML, чтобы быть довольно напечатал:
<div>
<cite>
www.
<b>
example
</b>
.com
</cite>
Это заканчивает рендеринга, как:
WWW. пример .com
Обратите внимание на дополнительное пространство до и после примера.
Я пробовал просто обрезать пробелы из получающегося довольно напечатанного dom, но тогда вы теряете места в тех местах, где вы действительно хотите их.
Пройдя через сгенерированное dom, кажется, что HtmlUnit обрезает все узлы DomText, когда он их создает, поэтому информация о пространстве теряется.
Можно ли настроить HtmlUnit для отслеживания этой информации? Или какая-то альтернатива, которая лучше поддерживает оригинальный html? Мне просто нужно иметь возможность добавлять дополнительные части html через XPath.
Используются ли пробелы довольно-печати или вкладки? Если вкладки, вы не могли бы заменить все новые строки и вкладки в разметке вывода, оставив только пробелы? – aroth
Это хорошая мысль. Похоже, что пробелы не поддерживаются, но все они выравниваются в соответствии с отступами. –