DOORS输出database的目录树

本文分享了如何使用DXL脚本遍历DOORS数据库,获取包括Folder、Project、Module在内的目录树结构,并转换为XML字符串的过程。在遍历过程中,由于直接遍历无法获取第一级Folder,作者采用了从下向上搜索的方法,通过getparentFolder找到一级目录,同时优化搜索效率,避免重复搜索。
摘要由CSDN通过智能技术生成

最近用DXL编写了一些DOORS的脚本,网上关于DXL的资料比较少,因此把自己的经历分享出来,给需要的朋友作为参考。下面是介绍如何输出DOORS database中的目录树结构(包括Folder、Project、Module),并拼接成XML字符串输出。
问题的主要思路是:先在database中用for循环遍历,得到database中的所有内容,筛选出第一级的内容(Folder和Project),然后对第一级进行递归遍历即可得到整个目录树。但这个时候比较奇怪的是,第一级如果是Folder,遍历结果中将没有这个值。而在database的遍历方法中又没有直接针对Folder的方法。
于是输出结果中并没有第一级的Folder,这样我们想要获取第一级的内容就变得很困难。这里我采用的是从下向上搜索,利用getparentFolder方法得到database中每个节点的上层目录,如果是/,则为一级目录。注意,这里要把类型设置为Folder才能“兼容”Folder和Project两种类型,从而完成搜索。最后,还可以对向上搜索的过程进行优化,在搜索的过程中将已经检索过但不是一级目录的节点放入数组中,以后每次搜索时先在数组中查找一下,这样可以避免很多不必要的搜索,提高效率。


//输出database目录树,拼接成XML字符串输出

string str = ""

//优化
Array arr = create(100,1)

bool isExit(Array a,string s,int index)
{

    int i
    for(i = 0;i<index;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值