내 xml 파일에 &
을 &
으로 바꿔야합니다.CDATA 태그의 Java 패턴 및 Matcher
//On match sur tous les <!CDATA[ ... ]>
Pattern p = Pattern.compile("<!\\[CDATA\\[((&)|[^\\]]|\\][^\\]]|\\]\\][^>])*\\]\\]>");
Matcher m = p.matcher(l_retour.toString());
String temp2 ="";
temp2 = l_retour.toString();
while(m.find()){
//Si il y a un '&'
if(m.group(2) != null){
//On remaplace les & remplacés précédement par un '&' simple car on se trouve dans une balise <!CDATA[]>
temp2 = temp2.replaceFirst(Pattern.quote(m.group()),m.group().replaceAll("&", "&"));
}
}
이 실행에 오류가 있습니다 : 여기
내 코드입니다04 26 17:02:48,733 FATAL ExporteXml: Illegal group reference
04 26 17:02:48,733 FATAL ExporteXml: java.util.regex.Matcher.appendReplacement(Matcher.java:808)
04 26 17:02:48,733 FATAL ExporteXml: java.util.regex.Matcher.replaceFirst(Matcher.java:955)
04 26 17:02:48,733 FATAL ExporteXml: java.lang.String.replaceFirst(String.java:2119)
내가 미리가 .. 내 정규식입니다하지만 Y 솔루션을 찾을 수 없습니다 감사를 가정하여 답변
합니다. CDATA 태그로 대체하기 때문에이 작업을 수행 할 수 없습니다. 'replace! '는 내부적으로'replaceAll()';을 사용합니다.) ' – MelodyBibi
@Vasan funnily – Thomas