|  |  | 
 |  |  | 
 | 
 |  |  | import com.alibaba.fastjson.JSONArray;
 | 
 |  |  | import com.alibaba.fastjson.JSONObject;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 | 
 |  |  | import org.dom4j.Attribute;
 | 
 |  |  | import org.dom4j.Document;
 | 
 |  |  | import org.dom4j.DocumentException;
 | 
 |  |  | 
 |  |  |         Document xml = reader.read(new ByteArrayInputStream(content));
 | 
 |  |  |         return xml.getRootElement();
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     public static DeviceChannel channelContentHander(Element itemDevice){
 | 
 |  |  |         Element channdelNameElement = itemDevice.element("Name");
 | 
 |  |  |         String channelName = channdelNameElement != null ? channdelNameElement.getTextTrim().toString() : "";
 | 
 |  |  |         Element statusElement = itemDevice.element("Status");
 | 
 |  |  |         String status = statusElement != null ? statusElement.getTextTrim().toString() : "ON";
 | 
 |  |  |         DeviceChannel deviceChannel = new DeviceChannel();
 | 
 |  |  |         deviceChannel.setName(channelName);
 | 
 |  |  |         Element channdelIdElement = itemDevice.element("DeviceID");
 | 
 |  |  |         String channelId = channdelIdElement != null ? channdelIdElement.getTextTrim().toString() : "";
 | 
 |  |  |         deviceChannel.setChannelId(channelId);
 | 
 |  |  |         // ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR的兼容性处理
 | 
 |  |  |         if (status.equals("ON") || status.equals("On") || status.equals("ONLINE") || status.equals("OK")) {
 | 
 |  |  |             deviceChannel.setStatus(1);
 | 
 |  |  |         }
 | 
 |  |  |         if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) {
 | 
 |  |  |             deviceChannel.setStatus(0);
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  |         deviceChannel.setManufacture(XmlUtil.getText(itemDevice, "Manufacturer"));
 | 
 |  |  |         deviceChannel.setModel(XmlUtil.getText(itemDevice, "Model"));
 | 
 |  |  |         deviceChannel.setOwner(XmlUtil.getText(itemDevice, "Owner"));
 | 
 |  |  |         deviceChannel.setCivilCode(XmlUtil.getText(itemDevice, "CivilCode"));
 | 
 |  |  |         deviceChannel.setBlock(XmlUtil.getText(itemDevice, "Block"));
 | 
 |  |  |         deviceChannel.setAddress(XmlUtil.getText(itemDevice, "Address"));
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "Parental") == null
 | 
 |  |  |                 || XmlUtil.getText(itemDevice, "Parental") == "") {
 | 
 |  |  |             deviceChannel.setParental(0);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setParental(Integer.parseInt(XmlUtil.getText(itemDevice, "Parental")));
 | 
 |  |  |         }
 | 
 |  |  |         deviceChannel.setParentId(XmlUtil.getText(itemDevice, "ParentID"));
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "SafetyWay") == null
 | 
 |  |  |                 || XmlUtil.getText(itemDevice, "SafetyWay") == "") {
 | 
 |  |  |             deviceChannel.setSafetyWay(0);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setSafetyWay(Integer.parseInt(XmlUtil.getText(itemDevice, "SafetyWay")));
 | 
 |  |  |         }
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "RegisterWay") == null
 | 
 |  |  |                 || XmlUtil.getText(itemDevice, "RegisterWay") == "") {
 | 
 |  |  |             deviceChannel.setRegisterWay(1);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setRegisterWay(Integer.parseInt(XmlUtil.getText(itemDevice, "RegisterWay")));
 | 
 |  |  |         }
 | 
 |  |  |         deviceChannel.setCertNum(XmlUtil.getText(itemDevice, "CertNum"));
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "Certifiable") == null
 | 
 |  |  |                 || XmlUtil.getText(itemDevice, "Certifiable") == "") {
 | 
 |  |  |             deviceChannel.setCertifiable(0);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setCertifiable(Integer.parseInt(XmlUtil.getText(itemDevice, "Certifiable")));
 | 
 |  |  |         }
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "ErrCode") == null
 | 
 |  |  |                 || XmlUtil.getText(itemDevice, "ErrCode") == "") {
 | 
 |  |  |             deviceChannel.setErrCode(0);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setErrCode(Integer.parseInt(XmlUtil.getText(itemDevice, "ErrCode")));
 | 
 |  |  |         }
 | 
 |  |  |         deviceChannel.setEndTime(XmlUtil.getText(itemDevice, "EndTime"));
 | 
 |  |  |         deviceChannel.setSecrecy(XmlUtil.getText(itemDevice, "Secrecy"));
 | 
 |  |  |         deviceChannel.setIpAddress(XmlUtil.getText(itemDevice, "IPAddress"));
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "Port") == null || XmlUtil.getText(itemDevice, "Port") == "") {
 | 
 |  |  |             deviceChannel.setPort(0);
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setPort(Integer.parseInt(XmlUtil.getText(itemDevice, "Port")));
 | 
 |  |  |         }
 | 
 |  |  |         deviceChannel.setPassword(XmlUtil.getText(itemDevice, "Password"));
 | 
 |  |  |         if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Longitude"))) {
 | 
 |  |  |             deviceChannel.setLongitude(Double.parseDouble(XmlUtil.getText(itemDevice, "Longitude")));
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setLongitude(0.00);
 | 
 |  |  |         }
 | 
 |  |  |         if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Latitude"))) {
 | 
 |  |  |             deviceChannel.setLatitude(Double.parseDouble(XmlUtil.getText(itemDevice, "Latitude")));
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setLatitude(0.00);
 | 
 |  |  |         }
 | 
 |  |  |         if (XmlUtil.getText(itemDevice, "PTZType") == null || "".equals(XmlUtil.getText(itemDevice, "PTZType"))) {
 | 
 |  |  |             //兼容INFO中的信息
 | 
 |  |  |             Element info = itemDevice.element("Info");
 | 
 |  |  |             if(XmlUtil.getText(info, "PTZType") == null || "".equals(XmlUtil.getText(info, "PTZType"))){
 | 
 |  |  |                 deviceChannel.setPTZType(0);
 | 
 |  |  |             }else{
 | 
 |  |  |                 deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(info, "PTZType")));
 | 
 |  |  |             }
 | 
 |  |  |         } else {
 | 
 |  |  |             deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType")));
 | 
 |  |  |         }
 | 
 |  |  |         deviceChannel.setHasAudio(true); // 默认含有音频,播放时再检查是否有音频及是否AAC
 | 
 |  |  |         return deviceChannel;
 | 
 |  |  |     }
 | 
 |  |  | }
 |