荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: hewlett (...), 信区: Java
标 题: reform JDOM tree
发信站: 荔园晨风BBS站 (Thu Aug 8 18:28:30 2002), 站内信件
贴一个我写的垃圾吧。
不知道这里什么时候能像水木的#java那么火热。
Lg最近不来指导弟弟妹妹了。
无优化,也懒得改个好听的变量名字
不想写注释。总之就是把一个选择的element变成root element
选定element的父,祖...全部顺次变成选定element的子,孙...
把reform()返回的element setRootElement到一个新的Document就行了
// reformJDOMTree.java
/* rebuild a JDOM Tree by setting any one Element that is already
an Element of an exist JDOMTree, to a new Root Element.
return the New ROOT Element including all its children
ie:
exist JDOMTree is:
java.awt.geom
by setting "awt" as the new Root Element
new JDOMTree is:
awt
/\
/ \
java geom
*/
import org.jdom.Element;
public class reformJDOMTree {
Element e_Parent;
Element ee;
Element root;
public reformJDOMTree (Element e) {
// e is the selected element
ee = e;
e_Parent = e.getParent();
root = e.detach();
}
public Element reform(){
e_Parent.removeContent(ee);
Element eee = goup(e_Parent,ee);
return (root.addContent(eee));
}
private Element goup(Element thisEle, Element toChildEle){
if(thisEle.isRootElement()){
thisEle.detach().removeContent(toChildEle);
return (thisEle);
}
else{
Element ele = thisEle.getParent();
ele.removeContent(thisEle);
thisEle.addContent( goup(ele,thisEle) );
return (thisEle);
}
}
}
--
...
※ 修改:·hewlett 於 Aug 8 23:03:48 修改本文·[FROM: 131.227.74.2]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 131.227.74.2]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店