我有一个需要反汇编成XML的CSV文件。
这是一个看起来很正常的CSV,第一行标题后面是重复记录。行由CR + LF分隔,列由逗号分隔。它确实包含很多列,而不是粘贴在这里,我添加了一个链接到我用于测试的样本:Input CSV file。可以在此处找到平面文件XSD的副本:Flat file schema
在visual studio中,我可以右键单击架构,选择“验证实例”,然后生成以下xml文档:XML document
我已经创建了一个接收管道,我在其中添加了一个平面文件反汇编组件。 DocumentSpecName属性已设置为平面文件架构的强名称。
我的问题是,当管道处理样本CSV时,我在事件日志中收到以下错误:
原因:寻找时出现意外的流结束: '' 正在解析的当前定义是PO。发生错误的流偏移是2018.发生错误的行号是4.发生错误的列是0.
谁能看到我哪里出错?
答案 0 :(得分:0)
我能够通过从架构中删除Header节点来实现此功能。然后我设置" HeaderSpecName"接收管道的属性指向与#34; DocumentSpecName"相同的模式;并确保" PreserveHeader" property设置为false(默认值)。
我意识到BizTalk文档建议为Header和Body创建单独的模式,但如果标题和正文记录的结构相同,我就不会看到它的值。
我过去使用Header节点创建了许多FF模式。我更喜欢这样,因为它更好地描述了要拆卸的FF的结构。我的标准技术是在解组后简单地省略将记录映射到规范模式。
我无法解释为什么在这种情况下拆卸失败但时间紧迫,所以我最好继续前进。