648540858
2023-07-17 531fcb2a7e4aaaa86034ae6da1f6ded0ae46adfa
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
@@ -199,7 +199,24 @@
      Byte[] bytes = new Byte[0];
      byte[] bytesResult = ArrayUtils.toPrimitive(result.toArray(bytes));
      Document xml = reader.read(new ByteArrayInputStream(bytesResult));
      Document xml;
      try {
         xml = reader.read(new ByteArrayInputStream(bytesResult));
      }catch (DocumentException e) {
         logger.warn("[xml解析异常]: 愿文如下: \r\n{}", new String(bytesResult));
         logger.warn("[xml解析异常]: 愿文如下: 尝试兼容性处理");
         String[] xmlLineArray = new String(bytesResult).split("\\r?\\n");
         // 兼容海康的address字段带有<破换xml结构导致无法解析xml的问题
         StringBuilder stringBuilder = new StringBuilder();
         for (String s : xmlLineArray) {
            if (s.startsWith("<Address")) {
               continue;
            }
            stringBuilder.append(s);
         }
         xml = reader.read(new ByteArrayInputStream(stringBuilder.toString().getBytes()));
      }
      return xml.getRootElement();
   }