Как сохранить "как в исходной строке при разборе с JSOUP / JAVA - PullRequest
2 голосов
/ 24 октября 2019

Парсер Jsoup работает нормально для &, >, <, но конвертируется для " в "". Как я могу избежать этого?

String xml = "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>";
Document doc = Jsoup.parse(xml, "UTF-8", Parser.xmlParser());
System.out.println(doc.toString());

Вход: <P><SPAN><A>&quot;New&quot;</A></SPAN></P>

Токовый выход: <P><SPAN><A>"New"</A></SPAN></P>

Ожидаемый выход: <P><SPAN><A>&quot;New&quot;</A></SPAN></P>

1 Ответ

0 голосов
/ 24 октября 2019

Чтобы получить вывод, который вы хотите решить, используйте регулярные выражения:

String xml= "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>".replaceAll("&([^;]+?);", "**$1;");

Document doc = Jsoup.parse(xml);

doc.outputSettings().prettyPrint(false).escapeMode(EscapeMode.extended);

System.out.println(doc.outerHtml().replaceAll("\\*\\*([^;]+?);", "&$1;"));

Вывод: <P><SPAN><A>&quot;New&quot;</A></SPAN></P>

...