Vbscript VBS,从父子结构创建完整层次结构字符串,递归

Vbscript VBS,从父子结构创建完整层次结构字符串,递归,vbscript,parent-child,Vbscript,Parent Child,我正在尝试用Visual basic脚本执行以下操作。有一个元素的层次结构,我有最低的元素(基),我需要创建完整的层次结构字符串。我有一个函数,它返回一个元素的父元素。这意味着我可以要求父母,然后是父母的父母,等等 示例:B是A的父级,C1、C2是B的父级 在本例中,结果应该是由3个字符串组成的数组(第1、2、3行),每个字符串包含基本元素A的完整层次结构 我试过循环,但不知怎的,我不能把它组合在一起。我不是VBS专家,数组处理在我看来相当笨拙。有什么建议吗 编辑: 这是我目前的职能: Fun

我正在尝试用Visual basic脚本执行以下操作。有一个元素的层次结构,我有最低的元素(基),我需要创建完整的层次结构字符串。我有一个函数,它返回一个元素的父元素。这意味着我可以要求父母,然后是父母的父母,等等

示例:B是A的父级,C1、C2是B的父级

在本例中,结果应该是由3个字符串组成的数组(第1、2、3行),每个字符串包含基本元素A的完整层次结构

我试过循环,但不知怎的,我不能把它组合在一起。我不是VBS专家,数组处理在我看来相当笨拙。有什么建议吗

编辑:

这是我目前的职能:

Function GetAllParents (strServer, strDimension, strElem)
    
    dim strPath     
    dim strElement
    dim strParent
    dim lngCount 
    dim i
    dim j
    dim k
    dim result
    result = strElem
    strElement = strElem
    lngCount = AleaElement.ElementParentsCount (strServer, strDimension, strElement)
    
    if (lngCount > 0) then
        for i = 1 to lngCount       
            strParent = AleaElement.ElementParentsName(strServer, strDimension, strElement, i)
            result = result & "  " & GetAllParents(strServer, strDimension, strParent) 
        next 
    end if
    GetAllParents = result

End Function
这是我得到的结果:

CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_RET_SAS_RD1 CST_RET_SAS_MNGMT CST_RETAIL_DIVN CST_TOTAL
CST_TOTAL_I&E 
CST_SS_FAE_CUR CST_SS_FAE CST_RET_SAS CST_RET_SAR CST_RETAIL_DIVN CST_TOTAL 
CST_TOTAL_I&E 
CST_RET_SAS_EX_VIR 
CST_RETAIL_ALL CST_RETAIL CST_ALL_COST
这就是我需要的结果:

CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_RET_SAS_RD1 CST_RET_SAS_MNGMT CST_RETAIL_DIVN CST_TOTAL
CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_RET_SAS_RD1 CST_RET_SAS_MNGMT CST_RETAIL_DIVN CST_TOTAL_I&E
CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_SS_FAE_CUR CST_SS_FAE CST_RET_SAS CST_RET_SAR CST_RETAIL_DIVN CST_TOTAL 
CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_SS_FAE_CUR CST_SS_FAE CST_RET_SAS CST_RET_SAR CST_RETAIL_DIVN CST_TOTAL_I&E 
CST_700P36 CST_AM_FAE_1002 CST_RM_FAE_NRTH1 CST_OM_FAE_NRTH CST_SS_FAE_CUR CST_RET_SAS_EX_VIR 
CST_700P36 CST_RETAIL_ALL CST_RETAIL CST_ALL_COST

看起来曾经包含的零件不会再次放入。

到目前为止您尝试了什么?这看起来像是一个候选项。@Rno是的,我也这么认为,添加了当前结果