NgxLua过滤报文时,会使用到LuaXml解析报文体,获取解析报文xml对象 方便对报文信息的获取,有的时候,需要在原报文的基础上增加新的xml节点以满足项目需要,如果新添加的xml节点是 CDATA ,通过LuaXml添加的子节点,新的xml对象在序列化生成xml字符串的时候,会将 CDATA 关键字进行转义,例如下面的赋值语句,在生成xml字符串的时候会将报文CDATA转义,

"xDoc:find('soapenv:Envelope'):find('soapenv:Body'):find('chin:exchange'):find('chin:in0')[1] = '<![CDATA['..reqSvc..']]>'"

解决方法:

在LuaXml.lua文件的62行替换成下面的语句:

local temp_str = base.string.match(var[1],"<!%[CDATA%[.*%]%]>$")
      if temp_str == nil then
        s = s..">"..encode(base.tostring(var[1])).."</"..tag..">\n"
      else
        s = s..">"..base.tostring(var[1]).."</"..tag..">\n"
      end

差分如图:

LuaXml在打印CDATA时,失效了,被转义了相关推荐

  1. ECSHOP在打印订单时打印出商品序号

    ECSHOP后台,在打印订时需要打印出商品序号的解决办法: 注意:是序号,不是商品货号,是指 1.2.3.4--等序列号. 形如下面这样 序号    商品名称          数量 1        ...

  2. [html] 打印页面时怎样自定义打印页眉页脚或者去掉眉页脚?

    [html] 打印页面时怎样自定义打印页眉页脚或者去掉眉页脚? <style type="text/css" media="print"> @pag ...

  3. JavaScript 打印结果时多出一个undefined/出现undefined

    JavaScript 打印结果时多出一个undefined/出现undefined 1.检查是否变量未初始化. 如下图,未初始化值就拿来使用,结果会出现undefined. var newStr; 修 ...

  4. SpringBoot-技术专区-详细打印启动时异常堆栈信息

    SpringBoot-技术专区-详细打印启动时异常堆栈信息 参考文章: (1)SpringBoot-技术专区-详细打印启动时异常堆栈信息 (2)https://www.cnblogs.com/libo ...

  5. fastreport调用frf文件直接打印_打印日志时 Logback 内部都做了些什么

    文 | 百川 on 资产管理 一.引言 Logback 是一个优秀的开源日志框架,我们很多项目都使用它来记录日志.实际使用时,通常仅需要一行语句即可记录相应的日志信息,如 logger.info(&q ...

  6. JS打印表格时边框缺失问题

    问题描述: JS打印表格时边框缺失问题 项目场景:window.print()打印网页,预览中,表格的边框缺失部分或全部 原因分析: 首先,怀疑是设置了border-collapse:collapse ...

  7. 打印文件提示服务器错误,要打印文件时,总是出现打印错误,上班族的你快来看看吧!...

    原标题:要打印文件时,总是出现打印错误,上班族的你快来看看吧! 我们在对打印机的使用过程中,常常都会出现打印错误,无法进行取消打印的情况.那么,当我们遇上这个问题是该如何处理呢?相信大家都会选择进行重 ...

  8. 使用计算机打印资料时需要安装打印机驱动,详细教您如何在计算机上安装打印机驱动程序...

    众所周知,使用打印机打印文件时,通常将其连接到计算机,并且计算机必须安装有相应的打印机驱动程序才能进行打印. 尽管不同的打印机驱动程序安装方法不同,但是它们都是相同的. 的. 以下编辑器将与您分享如何 ...

  9. 计算机 打印 速度慢,处理打印机在打印文件时打印速度过慢的原因

    打印机是上班人员经常要用到的工具,那么打印机在打印文件时速度很慢是怎么回事呢?是什么造成的呢?如果现在你还不知道,那你就应该了解一下啦,接下来给大家讲讲打印机打印速度慢的原因,一起去看看吧. 操作方法 ...

最新文章

  1. NumPy 广播的可视化
  2. 判断链表是否相交并找出交点
  3. Linux 命令(88)—— more 命令
  4. 51单片机的初了解(4)
  5. 网络对抗技术——密码破解技术
  6. 封装dialog弹窗
  7. 军用设备环境试验GJB150A-2009检测报告机构
  8. slickedit背景颜色和当前关键字高亮
  9. 史上最全电子科技大学858信号与系统考研要了解的常识
  10. sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
  11. 基于jsp+mysql+Spring+SpringMVC+mybatis的高速公路收费管理系统
  12. UCK区块链微课堂—公钥私钥,数字资产安全性的两把金钥匙
  13. android之银行卡手机号码自动补齐空格
  14. 微信公众号开发实战 | 01:环境配置
  15. 将.npy文件转化为灰度图像
  16. Chrome下载危险文件拦截手动绕过
  17. RV1126RV1109 buildroot 增加串口屏测试
  18. C语言实现BMP图片的放大缩小
  19. JS Binding 技术(1)
  20. spring的几种注入方式

热门文章

  1. python图像处理:文档拍照扫描(手动构造扫描仪)
  2. jsp 定义 背景图片并控制图片的大小
  3. linux-nodejs环境配置
  4. 各位老师的学习技巧都是制胜宝典
  5. 智能温室大棚种植草莓流程
  6. 移动端手写签名实现 (jSignature.js)
  7. Excel数据库中FullJion功能的实现
  8. 机器学习笔记 - 什么是感知机(Perceptron)?
  9. docx4j Word文档转换pdf- 解决中文问题和变量替换
  10. 20多岁的年纪,做什么将来才不后悔?网友:。。。