sql-server - SQL Server 2019 - 对于 XML 路径 - 非 ascii 字符编码
问题描述
我需要建立一个“复杂”xml
来生成 AWB 标签
地址可以包含“禁止”的 xml 字符 &,,<,> 以及 ',ä,å 等
因此,为了解决这个问题,我创建了一个简单的函数来替换这些字符:
ALTER function [dbo].[encodeXML](@t nvarchar(512))
returns nvarchar(512)
as
begin
--if @t is not null and @t <>''
return trim(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@t,'&','&'),'"','"'),'<','<'),'>','>'),'''','''))
end
此函数将“”编码Quartu Sant'Elena
为“ Quartu Sant'Elena
”
但是每批货物的详细信息都通过以下方式封装到 xml 节点中for xml path ('Parcel'), type
并且“ Quartu Sant'Elena
”变成“ Quartu Sant&apos;Elena
”不被接受。
我该如何解决?
请注意,所有货物都进一步封装在 xml 路径('Info')容器中,因此该解决方案应同时解决 xml 功能
解决方案
推荐阅读
- c++ - 致命错误:构建/包含:没有这样的文件或目录
- r - x[floor(d)] + x[ceiling(d)] 中的错误:二元运算符的非数字参数
- cadence-workflow - 工作流程结构、促销优惠流程
- arrays - 如何编写一个返回数组的函数,其中重复的字符串组合在一起?
- php - PHP数组对每个元素都有相同的索引
- apache-kafka - 如何在 kafka-consumer-perf-test 中消耗 1000 条 1 MB 的记录
- c - LIS3DSH xyz 轴不正确
- javascript - 如何在多个复选框上过滤产品?
- pytorch - RuntimeError:不支持将操作员 cdist 导出到 ONNX opset 版本 9
- c++ - 不明白为什么这段代码不起作用?