CMarkup FindChildElem return 0

    1. CMarkup xml;   
    2. xml.Load(str);   
    3. xml.ResetMainPos();   
    4. if(xml.FindChildElem("device"))   
    5. {       
    6.     xml.IntoElem();   
    7.         
    8.     xml.FindChildElem("DeviceStatus");//return 1;
    9.     str=xml.GetChildData();
    10.         if(atoi(str) == 1)
    11.     {
    12.             xml.FindChildElem("DeviceName");//return 0;
    13.         }
    14. }

 

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <devices>
  3. <device>
  4. <DeviceName>51</DeviceName>
  5. <DeviceIP>192.168.0.51</DeviceIP>
  6. <DevicePort>6666</DevicePort>
  7. <DeviceType>1</DeviceType>
  8. <DevicePhase>0</DevicePhase>
  9. <LocalDevice>0</LocalDevice>
  10. <NextDevice>0</NextDevice>
  11. <DevicePriority>0</DevicePriority>
  12. <DeviceStatus>1</DeviceStatus>
  13. </device>
  14. </devices>

 

DeviceStatus用于判断,程序不能这样写,FindChildElem直接查找后面的文段,所以返回为0,

以上有2中解决办法,一种是调整<DeviceStatus></DeviceStatus>的位置,另一种是先依次保存信息,然后再判断,不知道这样理解可不可以

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值