0
Получение значения тд элемента в HtmlUnit
<td>
<span>hi</span>
<a>re</a>
hello
</td>
Получение значения тд элемента в HtmlUnit
<td>
<span>hi</span>
<a>re</a>
hello
</td>
Глядя на документации, getTextContent
ясно говорит, что возвращает текст элемента и его потомков, и я не вижу никакого другого способа вернуть только сумму текстовых узлов, поэтому я думаю, что вам нужно петля. Например, предполагая, что element
относится к td
элементу:
StringBuffer sb = new StringBuffer(/*some appropriate size*/);
for (DomNode n : element.getChildNodes()) {
if (n.getNodeType() == Node.TEXT_NODE) {
sb.append(n.getTextContent());
}
}
String text = sb.toString();
Заметим, что сумма текстовых узлов в структуре вы цитируемым не просто "hello"
, он будет иметь пробелы до и после этого , Если вы просто хотите "hello"
, вам нужно обрезать это.
Я думаю, 'element.normalize()', за которым следует 'element.getLastChild(). AsText()' тоже должен сделать трюк. Но я не проверял его, чтобы убедиться. –
@JBNizet: Возможно, для этой * конкретной * структуры, так как в этом конкретном случае это всего лишь один текстовый узел, который им интересен. –