一般来说,将xml数据文件构造成对象模型,在项目中,有可能需要得到选中节点的所有层次结构,如,选中节点的父子目录结构,可用以下通用算法,当然,在构造模型时,必须将子类的父类保存起来。
private String getAllParent(TreeEntryInterface treeEntryInterface)
{
String midstr = treeEntryInterface.getName();
flag = false;
TreeEntryInterface midObj = (CollectionTreeEntry)treeEntryInterface;
if(treeEntryInterface.getParentEntry()!=null)
{
flag = true;
midObj = (CollectionTreeEntry)(treeEntryInterface.getParentEntry());
if(count>0)
allParent = midObj.getName()+"//"+midstr+"//"+allParent;
else
allParent = midObj.getName()+"//"+allParent+midstr;
}
else
{
flag = false;
allParent = midstr+"//"+allParent;
}
while(flag)
{
count++;
if(midObj.getParentEntry()!=null)
{
getAllParent(midObj.getParentEntry());
}
else
{
flag = false;
}
}
//去掉返回字符串中的“/”符号
if(allParent.substring(allParent.length()-1, allParent.length()).equals("//"))
{
allParent = allParent.substring(0, allParent.length()-1);
}
else
{}
return allParent;
}