2016-06-15 2 views
1

Я работаю над html шаблоном движка на основе jsoup. JSOUP игнорирует флаги th и td, если элемент не внутри таблицы;JSOUP Element.html ("<th> test</th>") ignore th tags

Чтобы справиться с этим, я меняю анализатор:

final Document docToWrite = Jsoup.parse(docToRead.outerHtml(),"", Parser.xmlParser()); 

Но я не нашел решения, чтобы заполнить элемент с HTML, которые содержат тд или ТН:

element.html("<th>test</th>"); 

возврат только теста, потому что JSOUP очищает html, удаляя неиспользуемые теги

Как я могу это решить?

Спасибо

+0

где ваш элемент взят? что это за тег (element.tag())? – ursa

+0

мой элемент is th. –

ответ

0

Если элемент 'й', то вызов:

element.html("<th>test</th>") // th.innerHTML = "<th>test</th>" 

должен производить грязный HTML:

<th><th>test</th></th> 

который правильно прояснилось по JSoup на:

<th>test</th> // th.innerHTML == "test" 

Чтобы заполнить элемент innerHTML == "< th> test </th>" ваш элемент должен быть тегом < tr>.

// Given 
String s = "<th>test</th>"; 
assert element.tag() == "tr"; 

// When 
element.html(s); 

// Then 
assert element.html().equals(s);