1
我正在考慮像時尚一樣在toString()
中編寫一個方法,以便它返回類實例的XML表示。創建從下到上的類實例的XML表示?
首先,我想將它寫像
public Element toElement() {
// create Element instance and fill it
}
但我無法創建內部空Element
例如,由於Element
創建需要Document
實例來調用它的createElement()
。
所以我重寫方法
public Element toElement(Document doc) {
Element ans = doc.createElement("myclasstag");
// filling ans
return ans;
}
但後來我得到了運行時異常HIERARCHY_REQUEST_ERR
,因爲直到它被連接到父層次一個無法填補Element
實例。
所以我重寫方法如下
public Element toElement(Document doc, Element parent) {
Element ans = doc.createElement("myclasstag");
parent.appendChild(ans);
// filling ans
return ans;
}
但這種方式,我不需要回答,因爲它已經連接的地方應該是,所以它成了
public void append(Document doc, Element parent) {
Element ans = doc.createElement("myclasstag");
parent.appendChild(ans);
// filling ans
}
這是現在絕對不喜歡toString()
。
是否有可能創建像從一樣的從頭到腳的XML實例呢?
你可以但它是很多工作。這就是爲什麼像XStream或JAXB這樣的東西存在,所以你不必這樣做。 –