我正在考虑以toString()
类似的方式编写一个方法,以便它返回类实例的 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;
}
但是这样我就不需要返回 ans 因为它已经附加到它应该在的地方,所以它变成了
public void append(Document doc, Element parent) {
Element ans = doc.createElement("myclasstag");
parent.appendChild(ans);
// filling ans
}
这是现在绝对不喜欢toString()
的。
是否可以像这样从下到上创建 XML 实例toString()
?