11
我必須將org.w3c.dom.Document轉換爲java.lang.String。我找到了兩種可能的方法,一種使用org.w3c.dom.ls.LSSerializer,另一種使用javax.xml.transform.Transformer。我有下面的每個樣品。LSSerializer vs Transformer將xml序列化爲字符串
任何人都可以告訴我哪種方法是首選嗎?
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軟件包獲得的「一站式購物」的感受。到目前爲止,我沒有任何負面的使用這種方法報告。所以我認爲我的答案是「他們都很好」。 –