zhufengyiran 2014-12-01 01:09 采纳率: 0%
浏览 1802

求助: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条回答

  • threenewbee 2014-12-01 02:26
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题