Java org.w3c.dom.ls의 설명서를 읽는 것만 큼 요소가 Java 기본 문자열 인코딩 인 UTF-16로 String에 직렬화 될 수 있습니다. 그러나 UTF-8 문자열을 생성하려면 이스케이프 처리를해야합니다. 그렇지 않으면 UTF-16 문자열이 될 것입니다. 누구든지이 문제를 해결할 생각이 있습니까? 문자열을 소비하는 생성 된 WS 클라이언트에 전달할 문자열이 필요합니다. 그런 다음 UTF-8이어야합니다.DOMImplementationLS는 Java에서 UTF-8로 문자열로 serialize합니다.
내가 문자열을 만드는 데 사용하는 코드는 :
Node node = ...
StringWriter output = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(node), new StreamResult(output));
String xml = output.toString();
그것은 특히 아니다 :
DOMImplementationRegistry domImplementationRegistry = DOMImplementationRegistry.
DOMImplementationLS domImplementationLS = (DOMImplementationLS) REGISTRY.getDOMImplementation("LS");
LSSerializer writer = domImplementationLS.createLSSerializer();
String result = writer.writeToString(element);
@Tomas - 수정 UTF-8 자바 문자열과 같은 것은 존재하지 않는다. UTF-8로 인코딩 된 바이트를 문자 형식으로 강요하여 눈물을 흘리려는 시도가있을 것으로 예상됩니다. – McDowell