LuaXml在打印CDATA时,失效了,被转义了
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时,失效了,被转义了相关推荐
- ECSHOP在打印订单时打印出商品序号
ECSHOP后台,在打印订时需要打印出商品序号的解决办法: 注意:是序号,不是商品货号,是指 1.2.3.4--等序列号. 形如下面这样 序号 商品名称 数量 1 ...
- [html] 打印页面时怎样自定义打印页眉页脚或者去掉眉页脚?
[html] 打印页面时怎样自定义打印页眉页脚或者去掉眉页脚? <style type="text/css" media="print"> @pag ...
- JavaScript 打印结果时多出一个undefined/出现undefined
JavaScript 打印结果时多出一个undefined/出现undefined 1.检查是否变量未初始化. 如下图,未初始化值就拿来使用,结果会出现undefined. var newStr; 修 ...
- SpringBoot-技术专区-详细打印启动时异常堆栈信息
SpringBoot-技术专区-详细打印启动时异常堆栈信息 参考文章: (1)SpringBoot-技术专区-详细打印启动时异常堆栈信息 (2)https://www.cnblogs.com/libo ...
- fastreport调用frf文件直接打印_打印日志时 Logback 内部都做了些什么
文 | 百川 on 资产管理 一.引言 Logback 是一个优秀的开源日志框架,我们很多项目都使用它来记录日志.实际使用时,通常仅需要一行语句即可记录相应的日志信息,如 logger.info(&q ...
- JS打印表格时边框缺失问题
问题描述: JS打印表格时边框缺失问题 项目场景:window.print()打印网页,预览中,表格的边框缺失部分或全部 原因分析: 首先,怀疑是设置了border-collapse:collapse ...
- 打印文件提示服务器错误,要打印文件时,总是出现打印错误,上班族的你快来看看吧!...
原标题:要打印文件时,总是出现打印错误,上班族的你快来看看吧! 我们在对打印机的使用过程中,常常都会出现打印错误,无法进行取消打印的情况.那么,当我们遇上这个问题是该如何处理呢?相信大家都会选择进行重 ...
- 使用计算机打印资料时需要安装打印机驱动,详细教您如何在计算机上安装打印机驱动程序...
众所周知,使用打印机打印文件时,通常将其连接到计算机,并且计算机必须安装有相应的打印机驱动程序才能进行打印. 尽管不同的打印机驱动程序安装方法不同,但是它们都是相同的. 的. 以下编辑器将与您分享如何 ...
- 计算机 打印 速度慢,处理打印机在打印文件时打印速度过慢的原因
打印机是上班人员经常要用到的工具,那么打印机在打印文件时速度很慢是怎么回事呢?是什么造成的呢?如果现在你还不知道,那你就应该了解一下啦,接下来给大家讲讲打印机打印速度慢的原因,一起去看看吧. 操作方法 ...
最新文章
- NumPy 广播的可视化
- 判断链表是否相交并找出交点
- Linux 命令(88)—— more 命令
- 51单片机的初了解(4)
- 网络对抗技术——密码破解技术
- 封装dialog弹窗
- 军用设备环境试验GJB150A-2009检测报告机构
- slickedit背景颜色和当前关键字高亮
- 史上最全电子科技大学858信号与系统考研要了解的常识
- sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
- 基于jsp+mysql+Spring+SpringMVC+mybatis的高速公路收费管理系统
- UCK区块链微课堂—公钥私钥,数字资产安全性的两把金钥匙
- android之银行卡手机号码自动补齐空格
- 微信公众号开发实战 | 01:环境配置
- 将.npy文件转化为灰度图像
- Chrome下载危险文件拦截手动绕过
- RV1126RV1109 buildroot 增加串口屏测试
- C语言实现BMP图片的放大缩小
- JS Binding 技术(1)
- spring的几种注入方式