我正在使用 Mirth 3.0。我有一个包含数千条记录的文件。txt 文件有 3 行标题。我必须跳过这个标题。我怎样才能做到这一点。我不应该使用批处理文件选项。
谢谢。
如果有某种方法可以识别文件中的标头记录,您可以添加一个源过滤器,该过滤器使用正则表达式来识别和忽略这些记录。
这样的结果可以使用摘要选项卡上的附件脚本来实现。在那里,您处理原始格式的消息。因此,如果您的文件包含三行注释,然后第一条消息以 MSH 段开头,您可以使用常规 JavaScript 函数将所有内容减去 MSH。预处理器脚本也是如此,在那里进行这种转换更加合乎逻辑。不同之处在于,Mirth 不会在消息到达 Attachment 处理程序之前存储消息,而是在 Preprocessor 处理消息之前存储它。
与此相反,源过滤器处理序列化为E4X XML 对象的消息,其中序列化过程可能因标头而失败(这取决于入站消息数据类型设置)。
作为进一步阅读,我会推荐“非官方 Mirth Connect 开发者指南”。(免责声明:我是这本书的作者。)
答案是您需要进行的真正简单的设置更改。我认为您的输入源数据类型是分隔文本。
转到您的频道->摘要选项卡->设置数据类型->源 1 入站属性->标头记录数将其设置为 3。
mirth 会做的是,跳过文件中的前 3 行记录,因为它们将被视为标题。
在我的实现中,标头内容保持不变,因此我提前知道标头将占用多少行,因此在源过滤器中我使用以下代码。
删除味精[“行”][1];删除味精[“行”][1];返回真;
我在执行第一个删除语句后使用了两次删除语句,MSG 将少一行,如果标题容纳的行多于单行,则需要第二个删除语句。