我的BizTalk接收XML消息作为输入消息。我正在使用业务流程中的Transform将该消息转换为HL7消息。 现在,如果输入消息由任何节点中的任何空字段组成,则HL7消息在该位置处分解并且还包括该消息中的空间。
有人可以帮我解决这个问题吗?以下是我的HL7消息: 注意 ---在Textpad中复制此消息以了解其中的确切空间
MSH | ^〜\&安培; | EEHR ^ bbbbbbbbbb | aaaaaaaaaaaaaaaaa ^ 12699 ^ DNS | KYIR | CDP | 201103060733 || VXU ^ V04 | 14962 | P | |||| 2.3.1 PID | 1 || 765874316 ^^^^ SS || ssssss ^ anan ^ T | wwwww ^^^^^^ M | 20100217 | M || 2135-2 ^ YYYYYYYY或jjjjjj ^ HL70005 | 5896 hyhyhyhy Ave ^ Apt#112 ^ Wanta Fe ^ NM ^ 85678 ^ XXX ^ H ^^ 049 || 5033331120X ^ ^ PRN PH ^^^ 505^5551120^~^NET^X.400^xxxxxx@yutyutopo.com|5056083515X4365^WPN^PH ^^^ 505 ^ 6086715 ^ 4365 | ES ^ ^英语|||| HL70296 215486702 | || H ^ erererer或qwqwqw ^ HL70189 | bnbnbn | Y | 1 ||||
感谢。
答案 0 :(得分:0)
我不完全确定问题是什么 - 输出HL7消息字符串中是否有空格?我现在不在我的Windows分区上,因此我无法在您发布的消息中看到任何明显的间距问题。
无论如何,如果它只是空格,你能解析字符串并用空字符串替换字段中的空格吗?
类似于:message.replaceAll("\\| \\|", "||");
< - 这是Java代码
之前的代码将替换'|的所有实例|”用'||' (即用空字符串替换带空格的字段)。
希望有所帮助。
干杯
答案 1 :(得分:0)
看来你的问题是有错误的分段分隔符
因为可以找到所有段标题作为空白后跟已知段标题和字段分隔符的组合,并用正确的段分隔符替换空白,所以无法保证您不会得到相同的在不同于段的开头的位置偶然组合。
因此,最好的建议是避免错误的段分隔符并提供正确的。