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()
ですか?