DeviceStatusResponse.fromXML constructor
DeviceStatusResponse.fromXML(
- String xmlSTR
Implementation
factory DeviceStatusResponse.fromXML(String xmlSTR) {
final document = XmlDocument.parse(xmlSTR);
String messageName = document.rootElement.attributes
.firstWhere((p0) => p0.name.toString() == "messageName")
.value;
// String xmlns = document.rootElement.attributes.firstWhere((p0) => p0.name.toString() == "xmlns").value;
String messageID = document.rootElement.attributes
.firstWhere((p0) => p0.name.toString() == "messageID")
.value;
// String xsi = document.rootElement.attributes.firstWhere((p0) => p0.name.toString() == "xmlns:xsi").value;
String result = document.rootElement.childElements.first.attributes
.firstWhere((p0) => p0.name.toString() == "result", orElse: orElseEmpty)
.value;
XmlElement resElement =
document.rootElement.findAllElements("deviceStatusResponse").first;
List<XmlElement> statusElements = resElement.childElements
.where((element) => element.name.toString().endsWith("Status"))
.toList();
// print("-->${resElement}");
List<Status> statusList = statusElements.map((e) {
return Status.fromXML(e.toXmlString());
// if(e.name.toString().startsWith("bp")){
// return BpStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("bt")){
// return BtStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("pr")){
// return PrStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("bc")){
// return BcStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("be")){
// return BeStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("dd")){
// return DdStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("zl")){
// return ZlStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("oc")){
// return OcStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("ms")){
// return MsStatus.fromXML(e.toXmlString());
// }else if(e.name.toString().startsWith("bg")){
// return BgStatus.fromXML(e.toXmlString());
// }else{
// return ZiStatus.fromXML(e.toXmlString());
// }
}).toList();
return DeviceStatusResponse(
messageName: messageName,
messageID: int.parse(messageID),
result: result,
status: statusList);
}