1、问题记录

  工作流配置画模板的时候保存成功但是部署报错。

  IE下 activiti工作流解析xml报错 type "path" must be followed by either attribute specifications, ">" or "/>"

  Chrome和Firefox正常

2、问题定位

  2.1  服务端是同一台服务器同一个实例,IE报错,谷歌没报错,先检查比对两个浏览器在服务端的报文

    执行:服务端比对IE请求和谷歌请求报文,内容格式基本相同。检查path标签是否闭合。

    结果:所有path标签都以>或/>闭合,用compare beyond比对仅是属性值的不同。内容太多,比对工具也没法很清晰的比对不同的地方。

  2.2 比对法不好比对结果,用xmlspy来校验IE下xml数据

    

    结果:IE的xml中svg的属性marker-end和marker-start的值中有双引号嵌套双引号的情况  "url("#....")" ,下一步定位为什么IE下属性值会出现双引号

  2.3、分析WEB前端代码,找到nodevalue取值,再找到nodevalue赋值的地方

    

    

  2.4、这里可以看到markerEndUrl是没有带引号的,而调用setAttributeNS方法后,path上的属性就变成 "url("#....")"

    IE: "url(#....)" setAttributeNS后:"url("#....")"

    Chrome: "url(#....)" setAttributeNS后:"url(#....)"

    

3、问题解决

    3.1 setAttributeNS方法初步定为是IE内核上nativecode,寻找polyfill

      结果:百度 谷歌 stackflow上没有找到很好的解决方法,转为在取值时修改双引号

    3.2 对marker-end和marker-start取值时特殊处理

    

结尾:定为问题还是从报错的上下文开始定位,一开始以为是IE的编码问题,再请求部分绕了很大一圈。

  xml的问题用一些xml校验工具比较实在,类似json的数据也是

  setAttributeNS这种IE和Chrome下有差异的处理方法 ,猜测是因为()引起,毕竟有很多场景下元素上会有 οnclick="fun('aaa')",这里不知道是不是IE做了多余的处理。     有知道准确答案的同学麻烦解惑下,谢谢~

转载于:https://www.cnblogs.com/smileSmith/p/6860685.html

【踩坑】activiti工作流的svg-xml解析报错相关推荐

  1. DataX踩坑2 | 定时任务crontab不执行或报错:/bin/sh: java: command not found

    前面两天写了一个DataX的增量同步脚本,今天检查了一下发现定时任务没有执行成功,数据并没有同步.以下为排查问题和解决方法. 一.定时任务crontab不执行 脚本(测试用的可以设为每分钟一次:*/1 ...

  2. PPT在线预览 转换为图片实现方案 Apache POI 实现时踩坑:含嵌入文件ppt转换报错 ArrayStoreException

    前言 背景:最近项目需要实现PPT预览功能,以及项目APP上浏览ppt,初步方案是ppt转为图片. 实现 1.ppt转为pdf,然后pdf转为图片 该种实现,先将ppt转为pdf文件,实现方式有很多, ...

  3. vue使用mintUI踩坑——不显示样式/导入mui.css报错/build不了

    vue-cli3.x之mint-ui按需引入 按需引入 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的. 首先,安装 babel-plugin- ...

  4. 关于XML解析报错问题(LF、CRLF)

    报错内容的主要部分: UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 123: illegal multibyte ...

  5. 踩坑日记一:idea 启动项目报错 java:程序包xxx不存在解决方案

    愿我所踩的坑,都是你们路上的灯 这两天开始学习idea搭建springboot项目的时候,踩坑不停,自己搭建项目碰到java:程序包xxx不存在的问题,但是项目中确实是存在的,为此问题头疼了半天,最后 ...

  6. 项目踩坑日记:网易企业邮箱发送邮件报错:421 4.4.5 HL:ICC

    这几天我们多数的发信程序都出现了一个统一的问题:421 4.4.5 HL:ICC 这是网易企业邮箱发信频率过高超过了qps限制导致的发信失败 原因咨询了下网易的人,说可能是因为这段时间二十大网易对邮箱 ...

  7. 初学go踩坑系列之 unexpected directory layout:报错

    GO的unexpected directory layout:报错 高版本的GO会出现 在初学GO的时候会创建自己项目目录里面创建三个文件夹src.pkg.bin.在执行go run 或 go bui ...

  8. 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document

    服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document  : Premature end of file. Nes ...

  9. Castor 解析xml文件报错org.exolab.castor.xml.MarshalException

    Castor 解析xml文件报错org.exolab.castor.xml.MarshalException: Illegal Text data found as child of org.exol ...

  10. 搭建dubbo项目解决dubbo.xml标签报错的问题

    搭建dubbo项目解决dubbo.xml标签报错的问题 参考文章: (1)搭建dubbo项目解决dubbo.xml标签报错的问题 (2)https://www.cnblogs.com/ajax-li/ ...

最新文章

  1. 硬核吃瓜!上万条数据撕开微博热搜真相
  2. 利用python分析了下乘风破浪的姐姐
  3. repeater 时间格式化
  4. 参数等效模型可以用于_干货分享电池单体产热特性及热模型标定分析(2)
  5. pfring(pf_ring)编译安装
  6. js中遍历数组加到新数组_JS中的真伪数组
  7. delphi listbox 使用
  8. 怎么看端口有没有被占用?Win11查看端口是否占用的方法
  9. SHELL判断文件是否包含某个字串
  10. 刷题记录 kuangbin带你飞专题五:并查集
  11. 关于搜索引擎原理的详细解读
  12. 超强、超详细Redis入门教程
  13. 计算机设备灯光有哪些,多媒体教室主要有哪些设备?
  14. 西南科技大学 SWUST OJ系统942: 逆置顺序表
  15. 华为盒子EC6110-T-通刷-免拆刷机固件及教程
  16. POI导出换行和水平居中
  17. 6款沙发背景墙装饰画 总有一幅你喜欢的
  18. 傅里叶变换对照表_实验室仪器中英文及缩写对照表
  19. 魔兽、星际和红警的比较
  20. Linux 上使用 Gmail SMTP 服务器发送邮件通知

热门文章

  1. Not enough space in file systems for the current software selection. An additional XXXX MiB is neede
  2. opencv笔记(7):直方图均衡化
  3. 手撸 webpack4.x 配置(二)
  4. 【java】判断某段字符串的编码方式,并按照新的编码方式输出
  5. Android:Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
  6. 后羿射日般的精准 - 阿里云ECS调度是如何炼成的
  7. AIX6.1 TL04下安装Oracle补丁时报java程序正在被使用问题处理总结
  8. ajax请求后台php数据时查看报错parse error
  9. 彻底剖析C# 2.0泛型类的创建和使用
  10. [读书笔记]机器学习:实用案例解析(4)