【问题标题】:Biztalk - iterating through a csv fileBiztalk - 遍历 csv 文件
【发布时间】:2014-08-14 18:16:20
【问题描述】:

我有一个 csv 文件,我会遍历每条记录并单独处理每条记录。在遍历记录的过程中,CSV 中的每一行最终都是一条没有命名空间的消息;因此我无法在地图中使用该消息。为了解决我的消息中没有命名空间的问题,我将消息写入本地字符串变量,然后进行一些字符串操作以添加命名空间。必须有更好的方法来遍历 csv 文件并处理每条记录。

以下是对我的问题的更详细描述: 我有一个需要读取的 csv 文件,然后对每条记录执行一系列任务。我选择处理每条记录的方法是确定 csv 文件中的记录数,然后通过执行以下 xpath 命令循环遍历每条记录: “Message_SingleRecord = xpath(Message_Document, "//processingItem[" + counterString + "]");”。 除了因为“processingItem”元素本质上是 csv 文档的子记录,每个 Message_SingleRecord 都没有命名空间,所以我无法转换/映射它之外,这可以很好地给我每条记录。为了将命名空间添加到 Message_SingleRecord,我创建了这个可怕的 hack:

Debug_SingleMessage = Message_SingleRecord;
debugVariable = Debug_SingleMessage.OuterXml;
debugVariable = debugVariable.Replace("<processingItem xmlns=\"\"", 
    "<ns0:processingItem     xmlns:ns0=\"http://SchemaGeneration.ProcessingSingleRecord\">");
debugVariable = debugVariable.Replace("</processingItem>", "</ns0:processingItem>");
xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(debugVariable);
Message_SingleRecord = xmlDoc;

【问题讨论】:

  • 为什么不能在接收管道或编排中反汇编 .csv?

标签: biztalk biztalk-2013


【解决方案1】:

您可以使用 Flat File Disassembler 将 CSV 文件反汇编为 XML,而无需执行任何自定义逻辑。请参阅链接查看更多细节。 http://msdn.microsoft.com/en-us/library/aa577898.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 2013-04-23
    • 2012-06-11
    • 2018-01-16
    • 2019-04-11
    • 2019-07-21
    • 2016-10-30
    相关资源
    最近更新 更多