问题描述
- 求助: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 这样存储。。。
这两种存储感觉在真正处理最开始那个字符串时感觉问题较大,不知道是否还有其他的存储形式,谢谢
解决方案
如果节点是顺序存放,并且你关注效率,用一个堆栈就可以解决。
时间: 2024-08-29 05:42:49