2 zhufengyiran zhufengyiran 于 2014.12.01 09:09 提问

求助:c++ 树形存储XML时出现的问题!!!谢谢

REQUEST#0151$01#021$02
#PS#01230$01#02CN$02#03CA$03#0494$04#05emd002$05#06A$06#0737$07
$PS
#RL#01A$01#02NZ$02
$RL
#IA#02TU$02

$IA

由于传输的长度有限,收到的XML的格式已经简写,其中#和$分别代表<>和</>

另外这个节点和它的父节点才能确定简写的全称,例如:

#PS#01下的01代表username,而PS下的02代表passwod

但是#RL#01的01代表realname,02代表userID,就是只有节点和他的father节点才能确定这个节点的全称。

现在知道上面的PS、01和相应的全称,想知道,这个存放在数据库中,从表里取出来,应该怎么存储,想了两个方式:

1>map>>的格式,第一个map的key是father节点,而vector里的map则存放father节点下子节点的简称和全称

2>struct compareTree

{ string fatherNode; string inputCmd; string outputCmd };

vector 这样存储。。。

这两种存储感觉在真正处理最开始那个字符串时感觉问题较大,不知道是否还有其他的存储形式,谢谢

1个回答

caozhy
caozhy   Ds   Rxr 2014.12.01 10:26

如果节点是顺序存放,并且你关注效率,用一个堆栈就可以解决。

zhufengyiran
zhufengyiran 你好,还是没太明白。。。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!