2009-09-08 3 views
15

ご存じのように、JavaでDom要素を作成する適切な方法は、このようなことです。Java:文書ではなく要素からDOM要素を作成する

import org.w3c.dom.Document; 
import org.w3c.dom.Element; 

Document d; 
Element e; 

e = d.createElement("tag"); 

ドキュメントコンテキストが必要なため、要素を生成するにはdを使用する必要があります。 (私は、なぜ100%わからないんだけど、多分これを誤解することは私の問題の一部である)

私は理解していないが、なぜあなたは電子ので、この

Element e; 
Element e2; 

e2 = e.createElement("anothertag"); 

ような何かを行うことはできませんすでにdのコンテキストを持っていますが、なぜ要素から別の要素を作成できないのですか?それは確かに私のデザインをどこでもドキュメントへの参照を保持する必要はありません簡単になります。

答えて

6

を私はW3C DOMのドキュメントのこの問題にあまりにも長い苦闘を過ごしました。ファクトリ(createElement(...))と同じ所有者ドキュメントの概念は制限されています。 W3C DOMを使用する必要がない場合は、オープンソースXOM(http://www.xom.nu)に変更します。これは、W3Cよりも簡単で柔軟なものになるように開発されました(たとえば、ElementとDocumentのサブクラス化はわずかです)。シリアル化しない限り、XOMはドキュメントを必要としません。すぐに簡単になることの1つは、要素を別のツリー間で移動させることです。

関連する問題