Java jcabi xpath возвращает неэкранированный текст

Учтите следующее:

String s = "<tag>This has a &lt;a href=\"#\"&gt;link&lt;a&gt;.</tag>";
final XML xml = new XMLDocument(s);
String extractedText = xml.xpath("//tag/text()").get(0);
System.out.println(extractedText); // Output: This has a <a href="#">link</a>.
System.out.println(s.contains(extractedText)); // Output: false!
System.out.println(s.contains("This has a &lt;a href=\"#\"&gt;link&lt;a&gt;.")); // Output: true

У меня есть XML-файл в виде строки с некоторым экранированным HTML. Используя библиотеку jcabi, я получаю текст соответствующих элементов (в этом случае все в <tag>с). Тем не менее, то, что я получаю, на самом деле не то, что в оригинальной строке - я ожидаю &lt; а также &gt; но я получаю < а также > вместо. Как ни парадоксально, оригинальная строка не содержит подстроки, которую я извлек из нее.

Как я могу получить реальный текст, а не неэкранированную версию?

0 ответов

Другие вопросы по тегам