LSSerializer vs Transformer для сериализации xml в String

Мне нужно превратить org.w3c.dom.Document в java.lang.String. Я нашел два возможных подхода, один из которых использует org.w3c.dom.ls.LSSerializer, а другой - с помощью javax.xml.transform.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();
}

Ответ 1

Можно рассмотреть несколько моментов: