在org.dom4j.Document下的doc解决<![CDATA[]]>左右< >符号转义的问题

方式一
import java.util.stream.Collectors;
import org.apache.commons.text.StringEscapeUtils;

// ...

String escapedXml = xmlString.chars()
    .mapToObj(c -> (char) c)
    .map(String::valueOf)
    .collect(Collectors.joining())
    .replace("&", "&")
    .replace("<", "<")
    .replace(">", ">")
    .replace("\"", """)
    .replace("'", "'");
System.out.println(escapedXml);

方式二

import org.apache.commons.text.StringEscapeUtils;

// ...

String escapedXml = StringEscapeUtils.escapeXml10(xmlString);
System.out.println(escapedXml);

方式三

使用Matcher类的replaceAll方法将匹配到的值替换为新值。

Pattern pattern = Pattern.compile("");
Matcher matcher = pattern.matcher(xml);
return matcher.replaceAll(" + newValue + "]]>");

你可能感兴趣的:(java,xml)