2009-09-08 7 views
15

Comme vous le savez, la manière appropriée de créer un élément Dom en Java est de faire quelque chose comme ça.Java: Créer un élément DOM à partir d'un élément et non d'un document

Vous devez utiliser d pour générer l'élément car il a besoin d'un contexte de document. (Je ne suis pas 100% sûr pourquoi, mais peut-être mal compris cela fait partie de mon problème)

Ce que je ne comprends pas, pourquoi vous ne pouvez pas faire quelque chose comme ça

Element e; 
Element e2; 

e2 = e.createElement("anothertag"); 

Depuis e a déjà le contexte de d, pourquoi je ne peux pas créer un autre élément à partir d'un élément? Cela simplifierait certainement mon design sans avoir à garder une référence au Document partout.

Répondre

6

J'ai passé beaucoup trop longue lutte avec ce problème du document dans le W3C DOM. Le concept d'un document propriétaire également en tant qu'usine (createElement (...)) est restrictif. Si vous n'êtes pas obligé d'utiliser le DOM W3C, je passerais à l'Open Source XOM (http://www.xom.nu). Cela a été développé pour être plus simple et plus flexible que W3C (par exemple, vous pouvez sous-classer Element et Document n'a qu'un rôle mineur). XOM ne nécessite pas de document sauf si vous souhaitez sérialiser. Une chose qui devient immédiatement plus simple est de déplacer des éléments entre différents arbres.

Questions connexes