Java jcabi xpath возвращает неэкранированный текст
Учтите следующее:
String s = "<tag>This has a <a href=\"#\">link<a>.</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 <a href=\"#\">link<a>.")); // Output: true
У меня есть XML-файл в виде строки с некоторым экранированным HTML. Используя библиотеку jcabi, я получаю текст соответствующих элементов (в этом случае все в <tag>
с). Тем не менее, то, что я получаю, на самом деле не то, что в оригинальной строке - я ожидаю <
а также >
но я получаю <
а также >
вместо. Как ни парадоксально, оригинальная строка не содержит подстроки, которую я извлек из нее.
Как я могу получить реальный текст, а не неэкранированную версию?