【发布时间】:2019-11-06 00:41:22
【问题描述】:
我们的客户希望在 CSV 文件末尾添加一个“SUB”字符,以便接收方正确处理文件。
我收到了 Excel 文档,其中字符显示正确。我已将其包含在此处。
将其转换为 HEX 得到:1a
在我的 XSLT 代码中,我尝试使用 CSharp 脚本输出此字符:
public string OutputEndOfFileCharacterSUB()
{
return '\u001A'.ToString();
}
但是当我构建和测试这个时,我得到一个错误:
XSLT 编译错误。 '',十六进制值 0x1A,无效 字符。
我的问题是如何在 XSLT 中正确输出这个字符?是不可能的,还是我应该使用不同的字符?
【问题讨论】:
-
如果您的 XSLT 代码使用 XML 1.1,您可以将该字符插入/输出/包含为
,请参阅 xsltfiddle.liberty-development.net/94rmq6U 其中 Saxon 9.8 HE .NET 和带有支持 XML 的 XML 解析器的 IKVM 平台使用 1.1 版。如果您使用 Microsoft XML API,那么您就没有 XML 1.1 支持。但是,您可以通过使用 XmlReader/WriterSettings 并将 CheckCharacters 设置为 false 来摆脱。不确定这是否与 XslCompiledTransform 一起使用。