org.w3c.dom.Documentをjava.lang.Stringにする必要があります。私は、2つの可能なアプローチを見つけました.1つはorg.w3c.dom.ls.LSSerializerを使用し、もう1つは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と一緒に行きました。私はそれを与える確固たる理由はありません。私はorg.w3c.domパッケージを使って "One Stop Shopping"の感覚が好きです。これまでのところ、私はこの方法を使って報告するのに負のものは何も持っていません。だから、私の答えは「どちらも大丈夫だよ」と思う。 –