protected override void ResolveRequestBody(XmlNode node) { TGetDevicesReqBody request = TGetDevicesReqBody.LoadFromXMLNode(node); if (request != null) { bodyRequest = request; } }
public static TGetDevicesReqBody LoadFromXMLNode(XmlNode node) { // 筛选出第一个 Parameters 节点,其余的 Parameters 节点忽略 XmlNode paramNode = null; foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Parameters") { paramNode = child; break; } } // 如果不存在 Parameters 节点,则返回 null 值 if (paramNode == null) { Exception error = new Exception(); error.Data["ErrCode"] = "900001"; error.Data["ErrText"] = string.Format("XML 节点 [{0}] 是空节点", paramNode.Name); throw error; } // 筛选出第一个 Param 节点并解析生成 TUpdateDeviceTagsReqBody 对象,其余节点忽略 TGetDevicesReqBody rlt = null; foreach (XmlNode child in paramNode.ChildNodes) { if (child.Name == "Param") { rlt = new TGetDevicesReqBody(); rlt = IRAPXMLUtils.LoadValueFromXMLNode(child, rlt) as TGetDevicesReqBody; break; } } // 如果不存在 Param 节点,则返回 null 值 if (rlt == null) { Exception error = new Exception(); error.Data["ErrCode"] = "900001"; error.Data["ErrText"] = string.Format("XML 节点 [{0}] 中没有找到 Param 节点", paramNode.Name); throw error; } return(rlt); }
public TGetDevicesContent() { bodyResponse = new TGetDevicesRspBody(); bodyRequest = new TGetDevicesReqBody(); }