org.w3c.dom.Document를 java.lang.String으로 변환해야합니다. 두 가지 가능한 접근법을 발견했습니다. 하나는 org.w3c.dom.ls.LSSerializer를 사용하고 다른 하나는 javax.xml.transform.Transformer를 사용합니다. 각 샘플을 아래에 있습니다.LSSerializer와 xml을 String으로 직렬화하기위한 Transformer
어떤 방법을 선호하는지 알 수 있습니까?
public String docToStringUsingLSSerializer(org.w3c.dom.Document doc) {
DOMImplementationRegistry reg = DOMImplementationRegistry.newInstance();
DOMImplementationLS impl = (DOMImplementationLS) reg.getDOMImplementation("LS");
LSSerializer serializer = impl.createLSSerializer();
return serializer.writeToString(doc);
}
public String docToStringUsingTransformer(org.w3c.dom.Document doc) {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
StringWriter stw = new StringWriter();
transformer.transform(new DOMSource(doc), new StreamResult(stw));
return stw.toString();
}
당신이 지금 혹시 답을 발견했다? 나는 나 자신과 같은 질문을 궁금해했다. – apines
나는 어떤 대답도 얻지 못했고 어떤 것을 선호하는 기사를 찾을 수 없었다. 그러나 거의 모든 기사와 게시물은 String을 직렬화 할 때 javax.xml.Transform을 사용하므로 전체적으로 선호되는 방식 인 것으로 보입니다. 그럼에도 불구하고 나는 org.w3c.dom.ls.LSSerializer와 함께 갔고, 그것을 줄만한 확실한 이유가 없다. 나는 "One Stop Shopping"의 느낌을 좋아한다. org.w3c.dom 패키지를 사용한다. 지금까지이 메서드를 사용하여보고 할 부정적인 점은 없습니다. 그래서 내 대답은 "둘 다 괜찮아 보인다"라고 생각합니다. –