Biztalk 筛选特定值,但如果不使用默认值';不存在

Biztalk 筛选特定值,但如果不使用默认值';不存在,biztalk,biztalk-mapper,Biztalk,Biztalk Mapper,我有一个输入模式,其中包含一个电话号码列表,电话号码类型如下所示: <phoneNumbers> <phoneNumber type="work">...</phoneNumber> <phoneNumber type="home">...</phoneNumber> </phoneNumbers> ... ... 我只想映射一个特定类型的数字,比如说“work”。如果“工作”类型的电话号码不可用,我需

我有一个输入模式,其中包含一个电话号码列表,电话号码类型如下所示:

<phoneNumbers>
    <phoneNumber type="work">...</phoneNumber>
    <phoneNumber type="home">...</phoneNumber>
</phoneNumbers>

...
...
我只想映射一个特定类型的数字,比如说“work”。如果“工作”类型的电话号码不可用,我需要填写默认值

这是我的开始:


我遇到的问题是,如果没有“工作”电话号码,我无法获得默认值以显示在输出中。

如何使用脚本functoid进行此操作

public string setphonenumber(string work_number)
{
  string default = "123456789";
  if(work_number ="")
      return default;
  else return work_number;

}

将脚本functoid与此一起使用如何

public string setphonenumber(string work_number)
{
  string default = "123456789";
  if(work_number ="")
      return default;
  else return work_number;

}

如果手机具有固定长度,您可以在右侧串接默认值,然后在左侧馈送字符串。

如果手机具有固定长度,您可以将右侧的默认值串接在一起,然后将其馈送到左侧的字符串。

我建议您使用“不相等”functoid来设置默认值,如果它与“工作”不同,并且等于“工作”,如果与“Work”不同,则在输出中将有源值,我建议您使用“Not equal”functoid设置默认值,如果它与“Work”相同,则在输出中将有源值,您可以使用内联XSLT脚本函数

假设源和目标结构如下所示:

内联XSLT应该是这样的:


您可以使用内联XSLT脚本函数

假设源和目标结构如下所示:

内联XSLT应该是这样的:


尝试在xlst中创建完整的映射,而不是使用BizTalk映射functoid。在一开始,您将与xslt进行斗争,但一段时间后,您将爱上它


我不会在这里发布整个解决方案,但我找到了一个解释一切的好方法。这在3:00变得很有趣。

尝试在xlst中创建完整的映射,而不是使用BizTalk映射functoid。在一开始,您将与xslt进行斗争,但一段时间后,您将爱上它


我不会在这里发布整个解决方案,但我找到了一个解释一切的好方法。它在3:00开始变得有趣。

XSLT!!!!!!!!!!!(只是因为我必须写8个字符:-)XSLT!!!!!!!!!!!(只是因为我必须写8个字符:-)我已经很久没有使用BizTalk了。作为一名程序员,我应该学会不要试图用内联C#脚本解决所有问题我已经很久没有使用BizTalk了。作为一名程序员,我应该学会不要尝试使用内联C脚本来解决所有问题我有一个类似的解决方案。我仍然需要一个累加的连接,使它完全按照我想要的方式工作。我有一个类似的解决方案。我仍然需要一个累积的连接,以使它完全按照我想要的方式工作。