0

"org.apache.commons.lang"(2.6) StringEscapeUtils의 이전 버전에는 "java.io.Writer"인스턴스를 다음과 같이 전달하여 method to escapexml이 있습니다. 매개 변수 중 하나.stringutils를 사용하여 XML 이스케이프 commons.lang version3 writer에 적용

예 : 최신 버전 3 StringEscapeUtils에서, 사용 가능한 방법은 매개 변수의 하나로서 "java.io.Writer에"의 인스턴스을지지 않습니다 escapeXml(Writer writer, String str)

하지만.

간접 방법으로 작성기를 사용하거나 콜백 또는 처리기를 설정하는 다른 방법이 있습니까?

답변

1

모든 오버로드는 Writer이 제거되었습니다를 승낙 - 대신, CharSequenceTranslator 인스턴스를 사용할 수 있습니다, 그래서 당신은 쓸 수 :

StringEscapeUtils.ESCAPE_XML10.translate(input, writer); 

(개인적으로 나는 강하게 XML 중심의 API를 사용하는 것이 좋습니다 것 XML을 작성하는 것보다 "다소 수동으로"이와 같이 ...)

+0

OracleWebRowSet을 사용하고 있으며 텍스트 내용의 앰퍼샌드와 같은 특수 문자를 이스케이프 처리하지 않아 Commons Lang의 Stringutils에 의지했습니다. 그래서'OracleWebRowSet.writeXml (FileWriter)'를 호출하기 전에, 나는 어떻게 든 그것을 벗어날 필요가있다. XML 구문 분석 오류를 피하기 위해 –