首页 > 解决方案 > 在 Pentaho 中清除字符串中的错误 XML 字符

问题描述

问题:通过网络/应用程序/文件交换接收错误的 XML。

我通过 HTTP GET 接收 XML 响应,这些响应有时会在文本中包含错误的 XML 字符。 在此处输入图像描述

该字符 SUB 出现在文本中,“从 XML 获取数据”步骤将无法读取它,说明在文档的元素内容中发现了一个无效的 XML 字符 (Unicode: 0x1a)

标签: javascriptxmlpentahopentaho-data-integration

解决方案


在这篇文章中找到了解决方案。

我不需要使用答案中包含的整个 JavaScript 函数,只需要使用 XML 中不允许使用的部分字符。

我所做的是“修改后的 Java 脚本值”中的一个简单的 Replace() 函数

var str = result.replace(/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm,'');

这已经清除了整个 XML 中的坏字符,并使整个 XML 可读。


推荐阅读