如何删除命名空间并在XML上使用UTF-8无BOM编码

时间:2015-11-06 13:28:01

标签: xml biztalk esb biztalk-pipelines

我需要创建一个没有命名空间的文件,并使用UTF-8 No BOM来允许WMS读取文件。 (我需要为映射添加命名空间,因为目标模式不是唯一的)

我创建了一个自定义发送管道,用于组装XML,然后删除命名空间(使用ESB删除命名空间组件)

我已经设置了一种方式,我认为应该删除BOM但是当我检查出站文件时,它已经更改为ANSI文件(但我特别说在管道组件中编码是UTF-8 )

我做错了吗?有更好的替代方案吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

管道组件可能正常工作,并且已经完成了将BOM和编码移除到UTF-8的工作。

您的第二个屏幕截图显示了Notepad ++。 Notepad ++的“Encode in”功能允许您以特定的编码显示文件的内容。

然而,它不是编码检测器。 检测编码可能是一项艰巨的任务,尤其是当文件没有BOM时,因为某些编码具有相似性(例如:UTF-8的128个第一个字符与ASCII相同)。

您的输入文件是否实际包含以UTF-8独有的方式编码的任何字符?这可能是一个很好的考验。