-
- CMarkup xml;
- xml.Load(str);
- xml.ResetMainPos();
- if(xml.FindChildElem("device"))
- {
- xml.IntoElem();
- xml.FindChildElem("DeviceStatus");//return 1;
- str=xml.GetChildData();
- if(atoi(str) == 1)
- {
- xml.FindChildElem("DeviceName");//return 0;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <devices>
- <device>
- <DeviceName>51</DeviceName>
- <DeviceIP>192.168.0.51</DeviceIP>
- <DevicePort>6666</DevicePort>
- <DeviceType>1</DeviceType>
- <DevicePhase>0</DevicePhase>
- <LocalDevice>0</LocalDevice>
- <NextDevice>0</NextDevice>
- <DevicePriority>0</DevicePriority>
- <DeviceStatus>1</DeviceStatus>
- </device>
- </devices>
DeviceStatus用于判断,程序不能这样写,FindChildElem直接查找后面的文段,所以返回为0,
以上有2中解决办法,一种是调整<DeviceStatus></DeviceStatus>的位置,另一种是先依次保存信息,然后再判断,不知道这样理解可不可以